データ コンテキストとしてビュー モデルを持つビューがあるとします。これは、Visible というプロパティにバインドされています。
プロパティはどのタイプにする必要がありますか?
- ブール値 (よりモデルに適していますが、コンバーターの使用を強制します) ?
- 可視性 (より見やすく) ?
データ コンテキストとしてビュー モデルを持つビューがあるとします。これは、Visible というプロパティにバインドされています。
プロパティはどのタイプにする必要がありますか?
タイトルの質問には、一般的に:ビューに近い。
例: ブール値を使用します。
VM はビューの論理モデルである必要があります。ただし、GUI 関連のタイプ (Visibility) を含めることはできません。
ViewModel に bool 値を残して、View でBoolToVisibilityConverterを使用します。
理由:
ViewModel は、ビューに依存せず、UI フレームワークにも依存しない必要があります。つまり、ViewModel をコンソール アプリケーションにコピーして F5 キーを押すことができるはずです。
MarkupExtensionを活用して、コンバーターの使用を簡素化してください
ブール値を使用する必要があります。また、より柔軟です。つまり、このプロパティをチェックボックスにバインドする場合、ViewModel コードを変更する必要なく簡単に実行でき、UI 担当者が UI で値をバインドする方法をより自由に決定できます。