如何将对象本身绑定到DataGrid

本文关键字:绑定 DataGrid 对象 | 更新日期: 2023-09-27 18:17:23

DataGrid中可以将属性绑定到列。例如:

Binding="{Binding MyProperty, Converter={StaticResource MyConverter}}"

是否可以将对象本身绑定到列(而不仅仅是属性)?

这个问题背后的原因是,转换器MyConverter需要更多的整个对象的信息来正确显示属性。当使用像Binding MyProperty这样的绑定时,转换只获得属性信息。

如何将对象本身绑定到DataGrid

只保留路径信息:

Binding="{Binding Converter={StaticResource MyConverter}}"

或者使用IMultiValueConverter并绑定所需的不同属性。

有两种方法:

Binding="{Binding RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"

Binding="{Binding Path=., Converter={StaticResource MyConverter}}"