首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridRow背景属性的默认值

DataGridRow背景属性的默认值
EN

Stack Overflow用户
提问于 2013-05-28 22:45:58
回答 1查看 167关注 0票数 2

我在摆弄DataGridRowBackground,发现了一些奇怪的东西。

DataGridRow的背景颜色显示为白色,如果您打印它,您将获得以下输出:

代码语言:javascript
复制
System.Console.WriteLine(row.Background.ToString());
-----OUTPUT-----
#FFFFFFFF

如果你打印Brushes.White,你会得到同样的结果:

代码语言:javascript
复制
System.Console.WriteLine(Brushes.White);
-----OUTPUT-----
#FFFFFFFF

现在,在比较它们时:

代码语言:javascript
复制
System.Console.WriteLine(Brushes.White.Equals(row.Background));
-----OUTPUT-----
False

它说它们是不同的,这很奇怪,因为它们都是带有#FFFFFFFF值的SolidColorBrush

DataGridRow不使用Brushes.White有什么特别的原因吗?

它是预定义的SolidBrushColor吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 23:19:41

这是因为你比较的是画笔,而不是颜色。SolidColorBrushBrush重写Equals方法,因此您是通过引用来比较它,并且一个笔刷并不总是等于具有相同颜色的另一个笔刷。控件将使用在Windows中定义的SystemColors作为默认值。要比较它,您需要知道它们都是SolidColorBrush,然后比较SolidColorBrush.Color

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16795010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档