日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。4を入れて遊んでたら素敵なものを見つけました。その名もCallMethodActionビヘイビアです。こいつは、イベントに応答して任意のメソッドを呼び出してくれる機能を持っています。こいつを使えばViewModelにCommandを用意しなくても、Viewで発生した任意のイベントに応じてViewModelの任意のメソッドを呼び出せるということになります。これまで、Command対応してないのどうしよう・・・とかいう悩みも解決です。Blendを起動して、BlendMVVMという名前でWPFアプリケーションを作成します。Sutdioでも同じプロジェクトを開いておきます。これは、Blendのプロジェクトの右クリックメニューからできるので、とてもシームレスです。VisualSutioでとりあえず作業します。いつものViewModelBaseクラスを作成します。}}こいつを継承する形で、MainWindowに対応するViewModelクラスであるMainWindowViewModelクラスを作成します。こいつは、Messageプロパティと、Messageプロパティに値をセットするだけの単純なメソッドを持つクラスです。}}おそらく説明の必要もないくらいシンプルです。ここで、一度プロジェクトをビルドして、blendのほうに作業環境をうつします。world的なもので、画面にあるボタンを押すと、こんにちは世界!!とテキストが表示されるだけのシンプルな画面です。アセットからボタンとテキストブロックを置いて以下のような画面をデザインしました。ViewModelをデータソースに追加します。データから「オブジェクトデータソースの作成」を選びます。MainWindowViewModelを選んでOKを選択します。これでデータソースが作成できました。次にTextBlockのTextプロパティとViewModelのMessageプロパティをバインドします。CallMethodActionを使います。アセットのビヘイビアから、CallMethodActionを選んでボタンの上に落とします。落とすとオブジェクトとタイムラインの表示は以下のようになります。して、CallMethodActionのプロパティでTargetObjectをMainWindowViewModelにします。MethodNameプロパティにメソッド名のGreetを指定します。実行してみると、ボタンがあるだけのシンプルな画面が表示されます。ボタンを押すと、こんにちは世界!!と表示されます。いうことで、CallMethodActionという素敵なものの紹介でした。これがあると、ViewModelにCommandの定義みたいな冗長な記述がいらないや。素敵!ぜひVisualStudio単品でも使いたい機能でした。StudioのデザイナからBlendと同じ要領で使いたい感じです。1.2.5リリースしましたちょっと思いつきで、機能追加をしました。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。