在使用转换器时,我想绑定到整个对象并将其发送给转换器使用,而不是绑定到每个单独的属性,所以我可以这样做:
Order thisOrder = (Order)values[0];
(注意,它是一个多重绑定,除了 thisOrder 对象之外还发送了其他值。现在 Order 类实现了 INotifyPropertyChanged 接口,并在其任何属性发生更改时引发适当的事件。转换器需要访问 Order 的多个属性,虽然它实际上只需要重新运行对其中一个属性的更改.有没有办法绑定到整个对象,以便如果任何属性发生更改,转换器会再次评估,或者只绑定到一个属性,但是对象的其余部分是否也可用作转换器工作的参数?
示例详细信息:订单具有以下字段:
- ID
- 市场价
- 姓名
当 MarketPrice 发生变化时,转换器需要根据 ID 和 MarketPrice 重新计算。目前,绑定应用于 xamDataGrid 的 DataRecordCellArea,如下所示:
<MultiBinding Converter="{StaticResource MarketPositionToBrushConverter}">
<Binding RelativeSource="{RelativeSource Self}" Path="Record.DataItem"/>
...
</MultiBinding>