在使用visualstudio10处理SilverLight时,我发现在设计模式下XAML允许大量的颜色。例如,石灰是XAML中的有效颜色。
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="Yellow" Offset="0" /> <GradientStop Color="Lime" Offset="1" />
GradientStop blueGS = new GradientStop(); blueGS.Color = Colors.Lime;
我错过了什么?这两种颜色都属于System.Windows.Media.colors。
从 MSDN page 对于 System.Windows.Media.Colors (Silverlight版本):
System.Windows.Media.Colors
不能从中实例化对象 XAML中的托管类,但可以使用 它的静态特性 XAML中的属性值。 在XAML中指定,但这些不是 由的静态属性值支持 颜色 .
所以,不管出于什么原因,看起来你实际上是对的;在XAML中可以引用比在codebehind中更多的“命名”颜色。
Color.FromArgb 代码中的方法:
Color.FromArgb
Color lime = Color.FromArgb(0xFF, 0x00, 0xFF, 0x00);