私は C# と WPF がまったく初めてで、データ バインディングで最善を尽くそうとしています。INotifyPropertyChanged; を実装する MyClass があります。そのため、プロパティ値を変更するたびに、これが UI で更新されます。次に、stackpanel の DataContext を MyClass のオブジェクトにバインドしました。このような:
<StackPanel Name="stackPanel1" DataContext="{Binding}">
<TextBlock Name="textBlock1" Text="{Binding Path=Title, Mode=OneWay}" />
</StackPanel>
コード ビハインドでは、次のようにします。
item = new MyClass();
stackPanel1.DataContext = item;
バインディングは正常に機能しています。現在のバインディング ソース オブジェクトを別のものに置き換える場合は、datacontext バインディングをもう一度入力して手動で設定する必要があります。
item = new MyClass();
stackPanel1.DataContext = item;
item1 = new MyClass();
.
. //manipulate item1
.
if (item1 is ok)
item=item1;
stackPanel1.DataContext = item;
ソース オブジェクトを置き換えて、関連付けられているすべてのバインディングを更新するより良い方法はありますか?