WPF:如何获取Binding.Converter

WPF:如何获取Binding.Converter,wpf,datagrid,converter,Wpf,Datagrid,Converter,我使用绑定创建DataGrid列(其中I是Int值): 在CreateBinding方法中,我可以访问bind.Converter属性我需要在某些处理程序中调用Converter.Convert()方法,但在尝试访问它时没有Converter属性: (dataGrid.Columns[clm] as DataGridTextColumn).Binding."no Converter property!" 如何获取为特定列创建的CellValueConverter?这是因为DataGridBun

我使用绑定创建DataGrid列(其中I是Int值):

在CreateBinding方法中,我可以访问bind.Converter属性
我需要在某些处理程序中调用Converter.Convert()方法,但在尝试访问它时没有Converter属性:

(dataGrid.Columns[clm] as DataGridTextColumn).Binding."no Converter property!"
如何获取为特定列创建的CellValueConverter?

这是因为
DataGridBundColumn
(和
DataGridTextColumn
)上的属性实际上返回的是
BindingBase
实例,而不是
Binding
<代码>BindingBase不支持转换器

您应该能够尝试铸造:

var binding = (dataGrid.Columns[clm] as DataGridBoundColumn).Binding as Binding;
if(binding != null)
{
    IValueConverter converter = binding.Converter; // Will work here
 }
这是因为
DataGridBoundColumn
(和
DataGridTextColumn
)上的属性实际上返回的是
BindingBase
实例,而不是
Binding
<代码>BindingBase不支持转换器

您应该能够尝试铸造:

var binding = (dataGrid.Columns[clm] as DataGridBoundColumn).Binding as Binding;
if(binding != null)
{
    IValueConverter converter = binding.Converter; // Will work here
 }