親と2人の子の3つのユーザーコントロールがあります。子は親から DataContext を継承し、その中にラベル (親ビューモデルのプロパティ labelstring とのバインディング) とボタンがあります。ボタンをクリックすると、親ビューモデルのプロパティが文字列「Clicked」に変わります。どうすればよいですか? ありがとう
1 に答える
1
コードビハインドから文字列を変更したい場合は、このようにします。
ボタンのクリック イベントのイベント ハンドラーを定義します。そしてその中にあなたが持っているでしょう
ParentViewModel vm = this.DataContext as ParentViewModel;
if(vm!=null)
{
vm.SomeTextProperty = "Clicked";
}
ただし、ICommand を作成し、それをボタンの Command プロパティにバインドすることをお勧めします。そうすれば、コード ビハインドに触れることなく、ViewModel 自体のプロパティを操作できます。
于 2013-10-14T15:08:39.350 に答える