0

私はクラス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は、任意の色を含む変数です

4

1 に答える 1

3

WPF の一部ではないSystem.Windows.Media.SolidColorBrushSystem.Drawing.SolidBrushを混同しているようです。

SolidColorBrushの代わりに使用する必要がありSolidBrushます。

于 2013-02-05T09:47:21.473 に答える