silverlight – 如何在XAML中声明小数值?

silverlight – 如何在XAML中声明小数值?,第1张

概述我能够在xaml中声明一个整数或双精度值.但是,我无法添加小数值.它建立好,但后来我得到: System.Windows.Markup.XamlParseException: The type ‘Decimal’ was not found. 这是xaml代码: <UserControl.Resources> <system:Int32 x:Key="AnIntValue">1000</s 我能够在xaml中声明一个整数或双精度值.但是,我无法添加小数值.它建立好,但后来我得到:

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的这一发现.

解决方法 我已经确认您发现Decimal类型似乎不能用作UserControl资源部分中的静态资源.但是,我确实看到了一些在StackOverflow上讨论过的解决方法,我刚刚亲自验证过使用Silverlight中的Decimal类型: Access codebehind variable in XAML

解决方法包括:

>从代码隐藏中添加资源(参见上面的链接)
>使用“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中声明小数值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1000931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存