【问题标题】:Why won't Silverlight handle the conversion of my custom float property为什么 Silverlight 不处理我的自定义浮动属性的转换
【发布时间】:2010-04-20 02:00:20
【问题描述】:

在 Silverlight 4 项目中,我有一个扩展 Canvas 的类:

public class AppendageCanvas : Canvas
{        
    public float Friction { get; set; }
    public float Restitution { get; set; }
    public float Density { get; set; }
}

我在 Blend 中使用这个画布,将它拖到另一个控件上并设置自定义属性:

alt text http://www.farseergames.com/storage/share/PropertyInBlend.Png

当我运行应用程序时,在包含我的自定义画布的控件上调用 InitializeComponent 时出现以下错误:

Failed to create a 'Windows.Foundation.Single' from the text '0.0'

alt text http://www.farseergames.com/storage/share/SilverlightError.Png

我不确定为什么 Silverlight 无法将此属性从它在 Xaml 中的字符串表示形式转换为它的浮点数。

有人有什么想法吗?

【问题讨论】:

    标签: silverlight xaml typeconverter


    【解决方案1】:

    Native Text Syntaxes 子主题列出了 Xaml 本身知道如何转换的类型。基本上支持的原始类型是doubleintboolstring

    【讨论】:

      【解决方案2】:

      从 twitter 朋友 Cameron Albert 那里得到这个:

      这很奇怪,我想知道它是否会失败 如果那是双倍的?

      切换到双打,没有更多错误。仍然好奇浮动不起作用。

      【讨论】:

      • 第一个问题,如果添加自己的类型转换器或值转换器,可以存储值吗?默认情况下可能没有单/浮点转换器。
      • 其次,出于性能原因,在 Silverlight 内部,许多双精度数具有单精度,因此这可能是一种伪影。
      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2016-12-20
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多