【发布时间】:2011-08-26 19:46:34
【问题描述】:
我有一个包含字符串的ResourceDictionary:
<ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String x:Key="Foo">Hello world</sys:String>
...
</ResourceDictionary>
这个字典是一个主题的一部分,在某些主题中,有些字符串是空的:
<sys:String x:Key="Foo"></sys:String>
麻烦的是,在这种情况下,我得到一个XamlParseException:
无法创建“System.String”类型的对象。创建实例失败, 这可能是由于没有公共默认构造函数 'System.String'
我知道可以在数组资源中声明一个空字符串,使用<x:Static Member="sys:String.Empty" />,但我不想要一个数组...直接使用x:Static作为资源返回标记扩展,而不是字符串.将x:Static 放入sys:String 元素会产生与以前相同的错误。
甚至可以将空字符串声明为 XAML 资源吗?怎么样?
【问题讨论】: