繁体   English   中英

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

[英]How to set a TypeConverter on an attached dependency property in Silverlight?

我的目标是能够在XAML中编写:

<Grid>
    <Rectangle Fill="AliceBlue"
            myCore:MyTimePanel.BeginningDate="03/03/2010"
            />
</Grid>

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

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

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

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

谢谢 !

但附加属性有一个Get访问器 - 您是否尝试将类型转换器放在Get访问器上

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

3。 您可以在作为值类型的类型上归属类型级TypeConverter。 这样可以对该类型的所有值进行字符串转换。 有关更多信息,请参阅TypeConverters和XAML。

4。 您可以在Get访问器方法上属性属性级TypeConverter。 这样可以对附加属性进行字符串转换。 将TypeConverterAttribute应用于Get访问器方法而不是Set访问器方法可能看起来不直观,但这是XAML处理器期望找到附加属性的类型转换信息(如果有)的位置。 有关更多信息,请参阅TypeConverters和XAML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM