1

WPF MVVM アプリケーションには、ビューの背後にあるすべてのロジックを含むビュー モデルと、物事を表示するビューがあります。実行は、ビュー モデル クラスに実装されているコマンドを介してリンクされます。

開始ウィンドウの中央に新しいダイアログ ウィンドウを開きたい場合は、WindowStartupLocation = CenterOwner と Owner = something を新しいダイアログ ウィンドウに設定する必要があります。残念ながら、Owner プロパティをビューに設定する必要がありますが、そのビューはビュー モデルでは認識されません。

では、どのように連携すればよいのでしょうか。

大げさな推測: ビューの位置とサイズをビュー モデルにバインドし、新しいダイアログを手動で配置する必要がありますか?

4

1 に答える 1

1

ただし、ビューはビューモデルでは認識されません。

理想的には、ViewModelはそれを使用するビューを完全に認識しません。しかし、あなたが知っているように、それは常に実用的ではありません。

したがって、たとえばBaseViewModelのViewプロパティとして、ライトカップリングを使用するのが一般的です。

ただし、VMはビューの特定のコントロールやその他の詳細を使用しないでください。

于 2012-07-02T07:53:22.143 に答える