wpf - 实心画笔属性不绑定(bind)

标签 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");
    }
}

我的数据网格绑定(bind)到此类,如下所示:
<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"时,它可以工作,但绑定(bind)它不起作用,为什么?

我把它刷成这样的值:
this.Color = new SolidBrush(color);

color 是一个包含任何颜色的变量

最佳答案

看起来你很困惑System.Windows.Media.SolidColorBrushSystem.Drawing.SolidBrush ,这不是 WPF 的一部分。

您必须使用 SolidColorBrush而不是 SolidBrush .

关于wpf - 实心画笔属性不绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703979/

相关文章:

c# - 需要在 Wpf 中的两个效果之间创建延迟

wpf - 如何向用户控件添加更多资源

c# - WPF 中来自 Silverlight 的 DoubleTap 事件

wpf - 从 WPF DataGrid 中的按钮触发 RelayCommand

wpf - 如何在所有列标题上启用文本换行?

c# - 启动画面的延迟窗口

c# - ObservableCollection 添加项目

c# - 如何将 GET 函数传递到 View/ViewModel?如何将数据绑定(bind)到 View (仅使用 C# 代码)?

WPF DataGrid - 以编程方式将单元格设置为编辑模式

c# - 将详细信息从一个窗口传递到另一个窗口