私は今wpfを学んでいますが、コーディングの際に問題があります。プレイデータはMainWindowから取得し、プレイヤーのID、名前を表示します....しかし、私はプレイヤーの情報を更新する必要があります。 SubWindowViewModel側で、更新バインディングプロパティがありますが、問題があります。ビュー側でプロパティを更新できません.ViewModelのプロパティが変更されたときにSubWindowを更新したいです。ビューモデルのプロパティのサブウィンドウを更新する方法が変更されましたか?
public SubWindow(Player player)
{
InitializeComponent();
ISubWindowViewModel subWindowViewModel = new SubWindowViewModel();
#region Get data
subWindowViewModel.ID = player.ID;
subWindowViewModel.Name = player.Name;
subWindowViewModel.Sex = player.Sex;
#endregion
this.DataContext = subWindowViewModel;
}
とビューモデルはxaml.csで、INotifyPropertyChangedの実装を持っている:
<TextBox x:Name="Name" Text="{Binding UserName,Mode=TwoWay}"/>
<TextBox x:Name="Sex" Text="{Binding Sex,Mode=TwoWay}" />
<TextBox x:Name="ID" Text="{Binding ID,Mode=TwoWay}"/>
はどうもありがとうございました!
あなたのビューモデルコードの見込みはありますか? –
申し訳ありませんが、いくつかのエラーコードがあります。ISubWindowViewModelに起因するかどうかはわかりません。SubWindowViewModel = new SubWindowViewModel(); SubWindowViewModelはINotifyPropertyChangedを使用しています。 ISubWindowViewModelがINotifyPropertyChangedを継承していない問題がありますか?申し訳ありませんが、私はwpfに新しく、ありがとうございます – Dota2Player
プロパティが設定されているときに、OnPropertyChanged()メソッドを呼び出しましたか? そして、この更新部分すべてにmainWindow、viewModelクラスなどを含むいくつかのコードを追加することができます。だから、私たちは皆もっと明確にすることができました。 – Tops