ビュー モデル間の通信パターンについて説明している興味深い投稿があります。
最近、WPF MVVM アプリケーションにモーダル ダイアログを実装するのに苦労しましたが、考えれば考えるほど、それが難しい理由と、これを実現する組み込みのヘルパーがない理由がわかりました。異なるプラットフォームをターゲットにすると、このビューが強化されるだけです。選択したアイテムの詳細を表示するモーダル ダイアログに適していると思われるものは、通常、モバイル デバイスの別のビューに移動することによって実装されます。
MVVM パターンの実装に成功し、コード ビハインドを回避した人への私の質問: モーダル ダイアログも回避しましたか? どの代替品が適していると思いましたか? 少なくとも 2 つ考えられます。
- 子 (モーダル) ビューを新しいビューに配置し、pub/sub を使用して親モデルとサブモデル間の通信を実装します。
- 子コントロールを持つパネルを親ビューに直接追加し、その可視性をオンにして、モダリティをシミュレートするポップアップとして子ビューをアクティブにします。
親ビューがさまざまな子ビューを生成できる場合は実際には機能しませんが、親ビューが小さな単一のポップアップを表示する必要がある場合には適切に見えます。それとも、より一般的な最初のアプローチを採用する方がよいでしょうか。他の選択肢はありますか?