0
我正在使用Windows應用商店應用。自定義類使用枚舉類型的DependencyProperty。當我嘗試訪問此屬性而未在應用程序崩潰之前將其設置爲NullReferenceException。在Windows Phone上運行相同的代碼沒有任何問題。取消設置DependencyProperty引發NullReferenceException
public enum ItemDisplayType {
None,
Detail,
Any,
}
public class CustomClass : UserControl {
public CustomClass() {
// No crash when DisplayType is set
// DisplayType = ItemDisplayType.Any;
this.InitializeComponent();
}
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register("DisplayType", typeof(ItemDisplayType), typeof(CustomClass), null);
public ItemDisplayType DisplayType{
get { return (ItemDisplayType)GetValue(DisplayTypeProperty); }
set {
SetValue(DisplayTypeProperty, value);
}
}
}
我不明白這裏有什麼問題。按照documentation解封的DependencyProperty應返回默認值:
如果沒有指定默認值,對於一個依賴屬性的默認值爲null引用類型,或類型的值,默認類型或語言原語(例如,整數爲0或字符串爲空字符串)。
那麼這裏是什麼問題呢?爲什麼此代碼在Windows Phone上運行,而不是在Windows Store應用程序上運行?
你是絕對正確的。但是,在這裏編寫示例代碼時,這只是一個錯誤。真實的代碼是正確的,仍然顯示所描述的問題。我已經修復了我的問題中的代碼。 –