我正在尝试创建一个转换器,如果某个东西的值不是“None”,就在单元格中写入X。因此,我创建了一个简单的元素样式:
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="{Binding Value, Converter={StaticResource SetBitConverter}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
转换器也很简单。
public class SetBitConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var input = value as string;
switch (input)
{
case "None":
return "OK";
default:
return "X";
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
现在的问题是当值被设置时,它将不会进入转换器,但如果我将属性从Text更改为Background,例如,它将毫无问题地进入转换器。