gpt4 book ai didi

c# - DataGridRow 背景属性的默认值

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:36 25 4
gpt4 key购买 nike

我在弄乱 DataGridRowBackground 时发现了一些奇怪的东西。
DataGridRow 的背景颜色显示为白色,如果打印它,您将得到以下输出:

System.Console.WriteLine(row.Background.ToString());
-----OUTPUT-----
#FFFFFFFF

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

System.Console.WriteLine(Brushes.White);
-----OUTPUT-----
#FFFFFFFF

现在,在比较它们时:

System.Console.WriteLine(Brushes.White.Equals(row.Background));
-----OUTPUT-----
False

它说它们不同,这很奇怪,因为它们都是 SolidColorBrush 且具有 #FFFFFFFF 值。

DataGridRow 不使用 Brushes.White 是否有特定原因?
它是预定义的 SolidBrushColor 吗?

最佳答案

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

关于c# - DataGridRow 背景属性的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16795010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com