使用绑定的 WPF DataGrid 单元格背景
我有一个名为 Color 的列的 DataGrid。
<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}"/>
DataGrid的ItemSource是一些内部带有MyColor
属性的对象。
public class MyColor
{
Color Background { get; set; }
int Percentage { get; set; }
}
设置 ItemSource 后,列会自动填充 Percentage
值。现在我想将此列中每个单元格的背景设置为与 MyColor.Color
属性相对应的颜色。有没有办法使用绑定来做到这一点? 像 Color
属性这样的东西
Background="{Binding MyColor.Color}"
是 html 格式#XXXXXXXX(这叫 html 格式吗?)。
I have a DataGrid with column named Color.
<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}"/>
The ItemSource of DataGrid is some object with MyColor
property inside.
public class MyColor
{
Color Background { get; set; }
int Percentage { get; set; }
}
When ItemSource is set column auto-fills with values of Percentage
. Now I'd like to set background of each cell in this column to color corresponding to MyColor.Color
property. Is there a way to do it using binding? Something like
Background="{Binding MyColor.Color}"
Color
property is in html format #XXXXXXXX (is it called html format?).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过
CellStyle
设置它:此外,您还必须更改
MyColor
类以具有类型为Brush
的Background
属性>,而不是颜色
。或者您可以使用转换器将Color
转换为SolidColorBrush
。You can set it via
CellStyle
:Also you have to change your
MyColor
class to have aBackground
property with typeBrush
, notColor
. Or you can use a converter to convertColor
intoSolidColorBrush
.