在没有路径的Binding上使用的转换器给出了DataRow的值

时间:2014-07-22 15:35:24

标签: c# wpf

我是从DataTable自动生成网格,有些列需要转换为比文本更复杂的布局。我已成功地在需要的地方动态应用DataTemplates,但是我无法运行转换器(IValueConverter),因为它给出的值是DataRow,所以我无法从阵列中分辨出我需要哪一块数据。

我似乎无法弄清楚我做错了什么。

以下是相关代码:

<DataTemplate x:Key="DateColumn">
    <ContentControl Content="{Binding Converter={StaticResource DateConverter}}" />
</DataTemplate>

public class DateConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我能够通过在代码中设置转换器而不是尝试在xaml中选择模板来实现此功能。现在看来是这样的:

column.DataMemberBinding.Converter = new DateConverter();

请注意,这适用于Telerik网格。我相信普通数据网格上的语法是“Binding.Converter”而不是“DataMemberBinding.Converter”。