System.Windows.Markup.XamlParseException: The type ‘Decimal’ was not
found.
这是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中做同样的事情似乎工作正常.所以我猜这是一个隐藏的银光限制.感谢Steven的这一发现.
解决方法包括:
>从代码隐藏中添加资源(参见上面的链接)
>使用“elementname”类型绑定引用后面代码中的属性
>在用户控件数据上下文属性上访问公共Decimal属性.
第二种解决方法可以这样做:
<sdk:Label name="label1" Content="{Binding Elementname=root,Path=DecimalProperty}" />
…这样定义了root usercontrol标签(这个想法来自上面的链接):
<UserControl x:Class="SilverlightDecimal.MainPage" x:name="root" .... >
这是你的用户控件的代码隐藏:
public decimal DecimalProperty{ get { ... } set { ... }}总结
以上是内存溢出为你收集整理的silverlight – 如何在XAML中声明小数值?全部内容,希望文章能够帮你解决silverlight – 如何在XAML中声明小数值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)