我知道我可以像这样在XAML中声明一个字符串数组:
<x:Array Type="{x:Type System:String}">
<System:String> first </System:String>
<System:String> second </System:String>
<System:String> third </System:String>
</x:Array>
如何在XAML中声明System.Collections.Specialized.StringDictionary数组
<x:Array Type="{x:Type Specialized:StringDictionary}">
<Specialized:StringDictionary>
(((what do I put here?)))
</Specialized:StringDictionary>
</x:Array>
谢谢!
答案 0 :(得分:0)
无。你不能在XAML中这样做。
填充StringDictionary只有一种方法:调用它的Add(string,string)
方法。
XAML不允许调用方法。仅分配属性,并且,作为特殊情况,填充实现ICollection<T>
的集合,而StringDictionary则不会。
答案 1 :(得分:0)
没有内置的方式来支持它,但有两个选项让你靠近。
如果你使用的是.NET 4并且没有编译你的XAML(极不可能) 你可以做这样的事情
同样,对于大多数人来说,这确实不是一个可行的解决方案,但它是可能的。
您很可能希望创建自定义标记扩展以支持通用集合初始化。像这样:
http://blogs.msdn.com/b/mikehillberg/archive/2006/10/06/limitedgenericssupportinxaml.aspx
调整他的最后一个解决方案,包括键和值,它应该到达你想要的位置,