如何在 XAML ResourceDictionary 中声明空字符串
我有一个包含字符串的 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”类型的对象。创建实例失败, 这可能是由于没有公共默认构造函数造成的 '系统.字符串'
我知道可以使用
在数组资源中声明一个空字符串,但我不'不需要数组...直接使用 x:Static 作为资源返回标记扩展,而不是字符串。将 x:Static
放入 sys:String
元素中会产生与之前相同的错误。
是否可以将空字符串声明为 XAML 资源?如何?
I have a ResourceDictionary
that contains strings:
<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>
This dictionary is part of a theme, and in some themes, some of the strings are empty:
<sys:String x:Key="Foo"></sys:String>
The trouble is that in that case, I get a XamlParseException
:
Cannot create object of type 'System.String'. CreateInstance failed,
which can be caused by not having a public default constructor for
'System.String'
I know it is possible to declare an empty string in an array resource, using <x:Static Member="sys:String.Empty" />
, but I don't want an array... Using x:Static
directly as the resource returns the markup extension, not the string. Putting x:Static
in the sys:String
element gives the same error as before.
Is it even possible to declare an empty string as an XAML resource? How?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
x:Static
声明它似乎对我来说效果很好......Declaring it using
x:Static
seems to work just fine for me...