solidcolorbrush和brush之间的区别

时间:2013-12-30 12:37:02

标签: c# .net wpf

solidcolorbrush和brush之间的区别是什么,在WPF(C#)中。

SolidColorBrush br = new SolidColorBrush(Colors.Red);

Brush br = Brushes.Red;

3 个答案:

答案 0 :(得分:7)

回答你的问题没有区别

Brushes.Red仅返回SolidColorBrush。它的定义如下:

public static SolidColorBrush Red { get; }

您可以假设Microsoft为您提供基本颜色的默认模板。


如果您想为颜色提供自己的自定义A,R,G,B 值,请使用SolidColorBrush构造函数。

这将为您提供实际的Red颜色:

enter image description here

SolidColorBrush anotherBrush = 
                     new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));

这会让您感到红色,G组件设置为100 byteB组件设置为50 byte

enter image description here

SolidColorBrush anotherBrush = 
                     new SolidColorBrush(Color.FromArgb(255, 255, 100, 50));

答案 1 :(得分:3)

无。

MSDN说:

public static SolidColorBrush Red { get; }

所以实际上这是一个静态的SolidColorBrush。使用第一行代码创建一个类似的对象。

答案 2 :(得分:1)

Brush是基类,无论它是如何创建的,它都包含任何类型的画笔。 SolidColorBrush构造一个具有纯色的画笔,LinearGradientBrush是另一种构造画笔的方法,而且还有更多。 WPF在Brushes类中提供了大量预定义画笔。它们是SolidColorBrush类型,只是为了说:单一的纯色。