WPF Datagrid - 绑定

时间:2015-04-23 19:17:53

标签: wpf binding

请你帮忙解决这个问题。

我有四个字段使用XAML绑定绑定到数据网格源。 string field1,field2,field3 bool field4

我需要根据field4(这是一个bool)中的值将field3的颜色更改为红色。

1 个答案:

答案 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

相关问题