不结合固刷属性(solid brush property not binding)

2019-08-16 18:31发布

我有一个类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>

当我做前台=“红”它的工作原理,但与结合它不工作,为什么?

我把去刷像这样的价值:

this.Color = new SolidBrush(color);

色彩是包含任何颜色的可变

Answer 1:

看起来你是在混淆System.Windows.Media.SolidColorBrush与System.Drawing.SolidBrush ,这是不是WPF的一部分。

你必须使用SolidColorBrush而不是SolidBrush



文章来源: solid brush property not binding