实心刷属性不绑定

时间:2013-02-05 09:23:14

标签: wpf mvvm datagrid brush

我有一个X类有一些数据:

private string yyy;

public string YYY
{
    get { return yyy; }
    set
    {
        yyy= value;
        NotifyPropertyChanged("YYY");
    }
}

private SolidBrush color;

public SolidBrush Color
{
    get { return color; }
    set
    {
        color= value;
        NotifyPropertyChanged("Color");
    }
}

我的数据网格绑定到这个类:

<DataGrid x:Name="dg1" ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="yyy" >
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding YYY}" Foreground="{Binding Color}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
</DataGrid>

当我做Foreground =“Red”时它可以正常工作,但是绑定不起作用,为什么?

我用这个刷它的价值:

this.Color = new SolidBrush(color);

color是包含任何颜色的变量

1 个答案:

答案 0 :(得分:3)

看起来您将System.Windows.Media.SolidColorBrushSystem.Drawing.SolidBrush混淆,后者不属于WPF。

您必须使用SolidColorBrush代替SolidBrush