antsk blog

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

MVVMでViewModelからダイアログを扱いたい

MVVMでViewModelはテストしたい。MessageBoxの扱いをどうする?

で言われてるように、MVVMで作ってると、
ViewModelからメッセージを表示したり
ViewのDialogResultを設定して閉じたりしたくなるんだけど
実際なんか良い方法がわからなくて悩んでる。


Viewを直接操作したくはないから
イベントを飛ばしてViewで処理したりとか、
……めんどくさい……。

結局「ViewModelオブジェクトからViewを取り出せるようにする」
でやってみようか、と思って作ってみた。

MVVM_Util.mp3
※ zipがアップロードできないので拡張子を変えてアップしてる。

使用法としては
1.Viewで ViewModelRelation.Register(viewModel, view); する。
2.ViewModelで ViewModelRelation.GetView(viewModel); するとViewが返ってくる
3.上記を利用して、ViewModelを引数に受けるインターフェースメソッドを実装するときに内部でViewを取り出す

これで、ViewModelが直接使用するViewModelMessageBoxにはViewを渡さなくてよくなるので
ViewModel→Viewの依存が減る……はず。

Registerでstaticに登録することになるけどWeakEventManagerでそのうち回収されるので問題なし。

……Registerメソッドじゃなくて添付プロパティにすればよかったな。
まあいいや。明日にしよう。
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2009/09/03(木) 23:52:42|
  2. WPF
  3. | トラックバック:0
  4. | コメント:0
<<MVVMでViewModelからダイアログを扱いたい・続き | ホーム | WPFのCommand>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://antsk.blog99.fc2.com/tb.php/5-f26d18d9
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

antsk

Author:antsk
主にC#のプログラマ。

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
.net (1)
WPF (8)

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。