Model-View-ViewModel (MVVM) アーキテクチャ パターンでは、ViewModel がデータとロジックを処理し、View はプレゼンテーションに重点を置きます。 ViewModel アクションで関連付けられたフォームを閉じる必要がある場合、一般的な課題が発生します。 ViewModel は View と直接対話すべきではないため、MVVM 原則を遵守しながらこのクロージャをどのように達成できるでしょうか?
これに対処するためのアプローチがいくつかあります。
より洗練された MVVM 準拠のメソッドでは、添付プロパティを使用します。 代表的な例は、(以前に受け入れられたソリューションで見られたような) DialogCloser
アプローチです。
<code class="language-xml"><Window ... xc:dialogcloser.dialogresult="{Binding DialogResult}" xmlns:xc="clr-namespace:ExCastle.Wpf"></Window></code>
これにより、ViewModel の DialogResult
プロパティが DialogCloser
添付プロパティにバインドされます。 ViewModel で DialogResult
を変更すると、自動的に Window が閉じられ、その DialogResult
プロパティが更新されます。 これにより、MVVM フレームワーク内でフォームのクローズがエレガントに管理されます。
最適な方法は、アプリケーションの特定の要件によって異なります。 ただし、添付プロパティ手法は、柔軟性、懸念事項の明確な分離、簡単な実装という魅力的な組み合わせを提供します。
以上がViewModel は MVVM 原則を維持しながらフォームを閉じるにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。