2012-02-22 15 views
1

私はMVVM Light Toolkitで作業しています。RelayCommandを作成したいと思います。RaiseCanExecuteChangedを呼び出す場所は?

私のViewModelには、Stringのプロパティがあり、これはセッター内のRaiseCanExecuteChangedを呼び出す場合、すべて正常に動作し、必要なときにコマンドを実行できます。

コードを変更すると、ModelクラスXを作成し、これらのプロパティがすべて含まれています.ViewModelにはXタイプのプロパティが含まれています。RaiseCanExecuteChangedをどこに呼び出す必要がありますか? Modelクラスでは意味がなく、ViewModelのXのセッターは呼び出されません。

答えて

4

モデルクラスPropertyChangedイベントを購読し、モデルプロパティが変更されたときにRaiseCanExecuteChangedイベントを呼び出す必要があります。

+0

シンプルで明白な...ありがとう! – Aaaaaaaa

+0

私に例を教えてもらえますか?私はあなたが言ったものを得ていません...... – Vishal

+0

@Vishal VMコンストラクタでは、モデルを設定するときに、 'model.PropertyChanged + =(o、e)=> this.command.RaiseCanExecuteChanged() ; ' –

関連する問題