簡體   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