在WPF应用程序中,如果我想创建一个矩形,我开始在XAML中写这个:
<Rectangle Fill=
在我输入最后一个=
字符后,Visual Studio的Intellisense将为这个Fill
属性提供一系列选项,例如AliceBlue,AntiqueWhite等。我发现这些常量来自类Brushes
,但我自己的类中定义的常量不会包含在该属性的选项列表中。所以我有两个问题。
Fill
的类型为Brush
。类型Brush
是普通类型,不是枚举类型。 Intellisense如何寻找这种属性的选项?由于
答案 0 :(得分:0)
intellisense来自System.Windows.Media.Brushes
,这只是一些默认的SolidColorBrush
值。您可以使用任何笔刷类型,例如LinearGradientBrush
,RadialGradientBrush
或ImageBrush
。如果要定义自己的颜色,可以使用颜色的十六进制值(例如,#FFFF0000,对于aRGB值255不透明度,255红色,0绿色,0蓝色),或者您可以在XAML中定义资源并使用{{ 1}}或StaticResource
(如果您打算在运行时更改此值)。
Intellisense使用反射来查找变量,方法和函数。这个颜色列表来自这个类,如下所示:
DynamicResource
在第二个问题中不确定您要问的是什么,但它只会提供与给定程序集直接相关的内容。如果你能澄清这个问题,请做。
答案 1 :(得分:0)
Intelisense正在向您显示列表,因为这里有这些定义
xs:attribute
name="Fill" type="StringToBrushConverter"/
看看StringToBrushConverter的定义
name="StringToBrushConverter">
pattern value="AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenrod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|Firebrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|Goldenrod|Gray|Green|GreenYellow|Honeydew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenrodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquamarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenrod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen"/>
</xs:restriction>
</xs:simpleType>
所有内容都来自WPFe schemma本地化:C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Xml \ Schemas