UserControlをMVVMで実装しています。
UserControlにいくつかの依存関係プロパティを定義しているのですが、
その値にVMで処理した結果を使用したい場合があります。
例えばUserControl内にボタンを配置して、それが押されると「Push!」という文字列が依存関係プロパティにセットされるというようなものを作りたいとします。
その場合、私が現在行っている実装方法は
・VMにPropertyChangedEventHandlerのイベントを発火するstringプロパティを定義。
・ボタンにはVMで定義したコマンドをバインド。
・コマンド内でstringプロパティに"Push!"を代入。
・VMからプロパティ変更通知が発火。
・Viewでプロパティ変更通知を受信して、VMのstringプロパティを参照してViewの依存関係プロパティへ代入。
というような手順で行っています。
これで望み通りの動作はしてくれていますが...
まぁ、あまり美しくはないかな...と思っています。
このような実装をしたい場合、他にスマートな実装方法はありますでしょうか?
UserControlをMVVMで実装する必要性は?とかの意見はあると思いますが、
とりあえずMVVMで実装する前提で回答を頂けるとありがたいです。
よろしくお願いいたします。
まだ回答がついていません
会員登録して回答してみよう