【问题标题】:solid brush property not binding实心画笔属性不绑定
【发布时间】:2013-01-20 04:05:01
【问题描述】:

我有一个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 是一个包含任何颜色的变量

【问题讨论】:

    标签: wpf mvvm datagrid brush


    【解决方案1】:

    您似乎将 System.Windows.Media.SolidColorBrushSystem.Drawing.SolidBrush 混淆了,这不是 WPF 的一部分。

    您必须使用SolidColorBrush 而不是SolidBrush

    【讨论】: