我是从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();
}
}
非常感谢任何帮助。
答案 0 :(得分:0)
我能够通过在代码中设置转换器而不是尝试在xaml中选择模板来实现此功能。现在看来是这样的:
column.DataMemberBinding.Converter = new DateConverter();
请注意,这适用于Telerik网格。我相信普通数据网格上的语法是“Binding.Converter
”而不是“DataMemberBinding.Converter
”。