私は、コードのこの部分について考えて何を決めるのトラブルを抱えているにWPFの仕様を持つことのデメリット:長所とビューモデル
public SolidColorBrush Brush
{
get { return IsValid ? _validItemBrush : _invalidItemBrush; }
}
それは私の現在のプロジェクトではとのようにビューモデルの一部でありますあなたは想像することができますが、Brush
はUIのいくつかのテキスト要素にバインドされ、その他のデータの有効性を示すために、それ以外はかなりシンプルで簡単なダイアログが表示されます。
このコードの賛同者は、WPFを使用しているので、ビューモデルで単純なWPF固有の構文を使用できる可能性があると言います。
これは違反者Separation of Concernsに違反していると言われています。これは明らかにビューだけに注意すべきスタイルを明確に示しています。
上記のコードに満足できない場合は、別の解決策についてご意見をお寄せください。 (私は特にあなたがDataTemplate
を使用することに関して何を言わなければならないかに興味があります)。
ベストプラクティスと考えられる解決策がありますか?
これは 'DataTemplate'sと何が関係していますか? –
@Reed Copsey:私は、特定の 'DataType'sにマップされた' DataTemplate'を使用することが、この問題の1つの代替解決策であるという印象を受けています。私はそれが使用されているか、あまりにも "ヘビー級"と考えているかどうかを知りたいです。 –
'DataTemplate'を使用することは、実際にはブラシの変更を処理する適切な方法ではありません。実際には、カスタムタイプの表示方法を決定するためのものです。たとえば、カスタムクラスをそのクラス情報を適切に表示するように設計されたビューにマップするために使用できます。 –