私は2つのWPFウィンドウを持っています。メインのものには、ObservableCollection<Person>
にバインドされたグリッドが含まれています。私はリストからオブジェクト(人)を追加したり削除したりすることができます。私は人を変更するときに私が見ることができる別のウィンドウも持っています。C#WPFアプリケーションのコードから静的リソースを初期化する
Personには、Name、LastName、Ageの3つのプロパティがあり、INotifyPropertyChangedが正しく実装されています。新しいウィンドウには、静的リソースPersonにバインドされている3つのテキストボックスがあります。
新しいウィンドウを初期化すると、私はPersonオブジェクトをコンストラクタに提供します。そして、このPersonプロパティを3つのテキストボックスに表示します。
public ModifyPerson(Person modPerson)
{
// ... some code
Person p = this.Resources["person"] as Person;
p.Name = modPerson.Name;
p.LastName = modPerson.LastName;
p.Age = modPerson.Age;
}
私はこのようにそれをやって好むしかし:
public ModifyPerson(Person modPerson)
{
// ... some code
this.Resources["person"] = modPerson;
}
しかし、それは動作しません、このすべてが正しく動作するように以下のコードが見えます
。 (リソースが適切に割り当てられていますが、テキストボックスはmodPersonプロパティの値を提示しないことを解決することができ
どう
テキストボックスの定義方法を表示できますか? – CodeNaked
NotifyPropertyChangedを確実に使用しましたか? –
なぜこれに 'StaticResource'を使用していますか? – McAden