我在Silverlight嘗試這種代碼標記擴展5.如何從SL5中的標記擴展更新目標對象?
public override object ProvideValue(IServiceProvider serviceProvider)
{
_target = (IProvideValueTarget)serviceProvider.GetService(typeof(IProvideValueTarget));
_depObj = _target.TargetObject as DependencyObject;
_depProp = _target.TargetProperty as DependencyProperty;
return GetText(TextId, DefaultText);
}
depObj似乎是正確提供,但depProp似乎不是 類型的DependencyProperty(類型爲Sytem.String(系統.Reflection.PropertyInfo))。演員結果爲空。
depProp代表正確的文本或內容屬性,但沒有它是 DependencyProperty我無法設置它的值。
任何輸入非常感謝。
SIKO
我不想挑剔,但c#是類型安全的,如果你是**和**作爲**你一遍又一遍地重複着你。您最好將**作爲**結果存儲在局部變量中,並執行更快的空檢查。 **是**操作的結果是yes或no,而** as操作的結果爲null或成功投射。也不會拋出異常。 – 2013-04-30 10:04:11