CellStyle
複数の列に適用したい があります。ビュー モデルには、すべて同じ型のネストされたオブジェクトがいくつか含まれています。これらの各オブジェクトを列に「バインド」したいと思います。ここで、セルのさまざまな要素がネストされたオブジェクトのさまざまなプロパティにバインドされます。以下の悪い回路図を参照してください。
ViewModel Object (source object for a datagrid row)
SubObj1 --> column 1 (set binding in column definition)
PropA -> column 1 text (as defined in CellStyle)
PropB -> column 1 background (as defined in CellStyle)
PropC -> column 1 whatever (as defined in CellStyle)
SubObj2 --> column 2 (set binding in column definition)
PropA -> column 2 text (as defined in CellStyle)
PropB -> column 2 background (as defined in CellStyle)
....
理想的には、列を宣言するときに、それぞれにこの CellStyle を指定し、特定のネストされたオブジェクトへの列バインディングをポイントします。その後、CellStyle は、ネストされたオブジェクトのプロパティへのすべてのバインディングを自動的に処理する必要があります。
しかし、SubObjX 内のプロパティを指すバインディングを定義するセル スタイルを作成する方法がわかりません。プロパティを{Binding PropA}
次に設定すると、ネストされたオブジェクトではなく、行ビュー モデルを見ていると想定されます。スタイルを多くの列で再利用したい場合、サブオブジェクト名を明示的に入力することはできません。
このアプローチで正しい軌道に乗っているかどうかはわかりませんが、複数のセル コンポーネントにバインドしているので、これが最も論理的な構造のようです。