コードスニペット:
xaml
<TextBlock Grid.Row="0" Text="{Binding Path=NodeType}"></TextBlock>
<Button Name="bt" Grid.Row="1" Click="bt_Click">click</Button>
c#
public FamilyMemberInfo MemberInfo;
public MainWindow()
{
InitializeComponent();
MemberInfo = new FamilyMemberInfo();
MemberInfo.NodeType = "aa";
this.DataContext = MemberInfo;
}
private void bt_Click(object sender, RoutedEventArgs e)
{
//MemberInfo.NodeType = "bb";
FamilyMemberInfo mi2 = new FamilyMemberInfo();
mi2.NodeType = "bb";
MemberInfo = mi2;
}
NodeTypeを「bb」に変更するとテキストブロックも変更されますが、当たり障りのない新しいオブジェクトを作成し、プロパティNodeTypeを「bb」に設定してからMemberInfoに割り当てると、テキストブロックは更新されません。誰かが私のためにそれを説明できますか?前もって感謝します。
また、クラス'FamilyMemberInfo'には20個のプロパティがあり、すべてがUIの要素(textblock、comboboxなど)とバインドされており、他の場所からFamilyMemberInfoのインスタンスを取得しているとすると、MemberInfoに次のように割り当てるだけです。それに応じてUIを更新するための上記のコード、それを機能させる方法は?
ありがとう。