我可以在XAML中声明整数或双精度浮点数,但无法添加小数值。代码可以构建,但是会出现以下错误:
System.Windows.Markup.XamlParseException:未找到类型“Decimal”。
这是XAML代码:
<UserControl.Resources>
<system:Int32 x:Key="AnIntValue">1000</system:Int32><!--Works!-->
<system:Double x:Key="ADoubleValue">1000.0</system:Double><!--Works!-->
<system:Decimal x:Key="ADecimalValue">1000.0</system:Decimal><!--Fails at runtime-->
</UserControl.Resources>
这是我声明系统命名空间的方式:
xmlns:system="clr-namespace:System;assembly=mscorlib"
编辑:解决方法: 正如Steven所提到的,通过代码添加资源似乎可以正常工作:
Resources.Add("ADecimalValue", new Decimal(1000.0));
编辑:回答: 在WPF中完全按照同样的方式操作似乎可以正常工作。因此,我认为这是Silverlight的一个隐藏限制。感谢Steven发现了这一点。