Intellisense在哪里查找XAML编辑中Brush属性的选项?

时间:2012-05-25 17:14:41

标签: wpf visual-studio xaml intellisense

在WPF应用程序中,如果我想创建一个矩形,我开始在XAML中写这个:

<Rectangle Fill=

在我输入最后一个=字符后,Visual Studio的Intellisense将为这个Fill属性提供一系列选项,例如AliceBlue,AntiqueWhite等。我发现这些常量来自类Brushes,但我自己的类中定义的常量不会包含在该属性的选项列表中。所以我有两个问题。

  1. 属性Fill的类型为Brush。类型Brush是普通类型,不是枚举类型。 Intellisense如何寻找这种属性的选项?
  2. Intellisense是否可以将在WPF核心程序集之外定义的对象视为某个属性的选项?
  3. 由于

2 个答案:

答案 0 :(得分:0)

intellisense来自System.Windows.Media.Brushes,这只是一些默认的SolidColorBrush值。您可以使用任何笔刷类型,例如LinearGradientBrushRadialGradientBrushImageBrush。如果要定义自己的颜色,可以使用颜色的十六进制值(例如,#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