弱いイベントパターンを用いたリスナー登録機能を持つビューモデルベースを使った2ウィンドウを持つプログラム

WeakEventViewModelBase クラスの実装の見直しを反映しました(2020年5月27日)。

前回の投稿で「弱いイベントパターンを用いたリスナー登録機能を持つビューモデルベースを使った簡単なプログラム」を作ったので、今回は2つのウィンドウを持つプラグラムを作って、ビューモデルが開放されることを確認してみます。構成としては、データ表示を行う MainWindow、データ表示とデータの編集・追加を行う ModalWindow01、データの変更通知機能を持つサービス層の ItemService になります。前回と同じく、データの追加処理ではデータの追加処理ではサービス層への依頼だけを行なっていて、表示の更新はサービス層からの変更通知を受けて行うようにしています(ちょっと無理矢理感もありますが。
また、ModalWindow01 の表示は、MainWindowViewModel で ShowDialog メソッドを実行しています(TransitionViewModelBase は使っていません)。

プログラムのソースコードは、GitHub の MakViewModelBase(.NetFramework 用, .Net Core 用)の  WeakEventViewModelBaseTestApp プロジェクトをご覧ください。

画面はこんな感じ。

ModalWindow01上に入力したデータが表示されるとともに MainWindow 側にも入力したデータが表示されます。

ビューモデルの開放の確認は次のとおり。

ModalWindow01 を閉じた後に MainWindow の GC ボタンをクリックするとビューモデルが開放されています。

 


弱いイベントパターンを用いたリスナー登録機能を持つビューモデルベースを使った2ウィンドウを持つプログラム」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です