我目前正在创建一个可以渲染SVG的控件。作为控件的一部分,颜色可以由控件的消费者来定义。
以前,我们有这样的东西。
<CustomControl Template="{StaticResource Blah}" PrimaryColour="Red" SecondaryColour="Green" />
现在这很好用,"Blah "会被渲染成红色和绿色。然而,2种颜色的方法显然是令人难以置信的限制。我希望更新我们的控件,使其表现出类似这样的效果。
<CustomControl Template="{StaticResource Blah}" Colours="Red,Green" />
为了达到这个目的,我添加了一个名为Color[]类型的DependencyProperty。但是当我编译XAML时,我得到以下错误。
"Color[]"的TypeConverter不支持从字符串转换。"
我明白为什么会这样,但我想知道的是要么。
非常感谢 :)
A Color[]
属性只能设置为 Color[]
值,除非您定义了一个 变流器 转换成 string
的XAML中,到一个 Color[]
.
否则,这应该是工作。
<local:CustomControl>
<local:CustomControl.Colours>
<x:Array Type="Color">
<Color>Red</Color>
<Color>Green</Color>
</x:Array>
</local:CustomControl.Colours>
</local:CustomControl>