我想要将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}
,那么它只是假设我查看行视图模型,而不是嵌套对象。如果我希望将样式重用于许多列,我无法显式键入子对象名称。
我不知道我是否采用这种方法走上正轨,但由于我绑定了多个单元组件,这似乎是最合乎逻辑的结构。