WeakEventManagerの使いドコロ

【WPF】変更通知をIWeakEventListenerでリッスン!
WeakEventManager Class
WeakEventManagerクラス:WeakEvent パターンで使用されるイベント マネージャの基本クラス
 あるイベントを発生させるソースオブジェクトに対し、IWeakEventListenerインターフェイスを実装するクラスオブジェクトをリスナーとして登録したり、削除したりするクラス。
○使いドコロ。
・イベントを発生するオブジェクトが、リスナのライフサイクルとは別な時。
 イベントを発生させるオブジェクトは基本的にアプリで1つ。画面に1つとかではない。
 要は、シングルトン的なオブジェクトであるとき。
□実装例1
 イベントソース:ユーザ情報を管理するクラスインスタンス。
 イベント:ユーザが切り替わった。あるいは再ログインした。
 リスナ:現在起動しているウィンドウ。起動すれば、リスナになり、終了時にリスナから削除される。
□実装例2
 イベントソース:言語情報を管理するクラスインスタンス。
 イベント:言語設定が切り替わった(例:日本語→英語)
 リスナ:言語切り替えによって、表示文字列を変更する必要のあるオブジェクトすべて。

後、考えられるのは…。
 イベント:テーマを切り替えたり、スキンを換えた。
 リスナ:テーマやスキンが適用されるVisual(あるいはUIElement)系オブジェクト。
とか。
 イベント:「ツール」→「設定」でアプリ設定が変更された
 リスナ:設定変更の影響を受けるオブジェクトすべて。
かなぁ。リスナになろうと思ったら、IWeakEventListenerを実装する必要があるのがめんどくさいところかな。それ用のクラスを作ってラップするというのも手かな↓。
A Generic IWeakEventListener Implementation
イベントハンドラ(メソッド)をリスナにしようという感じ。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m