请你帮忙解决这个问题。
我有四个字段使用XAML绑定绑定到数据网格源。 string field1,field2,field3 bool field4
我需要根据field4(这是一个bool)中的值将field3的颜色更改为红色。
答案 0 :(得分:1)
您可以使用转换器将boolean
转换为SolidColorBrush
。值转换器的名称暗示:它将一个值转换为另一个值。在您的情况下,您希望将boolean
转换为SolidColorBrush
,具体取决于boolean
的内容。
这是一个关于如何制作数值转换器以及如何使用它的简短示例。它必须实现位于IValueConvert
的{{1}}界面。通常,您只需要完全实现System.Windows.Data
方法。
Convert
然后使用它:
class BooleanToBrush : IValueConverter
{
Brush solidRed = new SolidColorBrush(Colors.Red);
Brush empty = new SolidColorBrush();
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool showRed = (bool)value;
if (showRed)
return solidRed;
else
return empty;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
有关值转换器的更多信息,请访问:http://www.wpftutorial.net/ValueConverters.html