silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight – 如何在XAML中声明小数值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

这是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
    {
         ...
    }
}
@H_301_2@

大佬总结

以上是大佬教程为你收集整理的silverlight – 如何在XAML中声明小数值?全部内容,希望文章能够帮你解决silverlight – 如何在XAML中声明小数值?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。