微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何在Silverlight中的附加依赖项属性上设置TypeConverter?

我的目标是能够在XAML中编写:
<Grid>
    <Rectangle Fill="AliceBlue"
            myCore:MyTimePanel.BeginningDate="03/03/2010"
            />
</Grid>

问题:
Silverlight XAML无法从字符串中解析DateTime.所以在运行时我有XamlParseException“无法从该字符串创建DateTime”.

当我使用一个简单的DependencyProperty时,我只需在getter / setter上添加一个TypeConverterattribute即可.像这样(来自here的想法):

[TypeConverter(typeof(DateTimeTypeConverter))]
public DateTime MyDate
{
    get { return (DateTime)GetValue(MyDateProperty); }
    set { SetValue(MyDateProperty,value); }
}

但是使用附加的DP,没有getter / setter.如何才能在XAML中编写字符串日期?

谢谢 !

解决方法

但附加属性一个Get访问器 – 你试过 putting the type converter on the Get accessor吗?

对于特定于版本的链接感到抱歉,它是包含相关信息的链接.从那个页面

3 . You can attribute a type-level TypeConverter on the type that serves as the value type. This enables string conversion of all values of the type. For more information,see TypeConverters and XAML.

4 . You can attribute a property-level TypeConverter on the Get accessor method. This enables string conversion of the attached property. Applying TypeConverterattribute to the Get accessor method rather than the Set accessor method may seem nonintuitive,but that is where XAML processors expect to find the type conversion information (if any) for an attached property. For more information,see TypeConverters and XAML.

原文地址:https://www.jb51.cc/csharp/99064.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐