我想寫一個客戶行爲來設置一些列寬度爲0,如果我的「可見性」(這只是一個布爾在這種情況下)屬性是錯誤的...我的問題是,當我的更改事件觸發它我的AssociatedObject始終爲空。DependencyObject.AssociatedObject始終爲空
這裏是相關的示例代碼,mybe有人可以看到我哪裏出錯了。
public static readonly DependencyProperty VisibilityProperty =
DependencyProperty.Register("Visibility", typeof(bool), typeof(HideRadGridViewColumnBehavior),
new PropertyMetadata(OnVisibilityPropertyChanged));
private static void OnVisibilityPropertyChanged(DependencyObject target, DependencyPropertyChangedEventArgs args)
{
if (((HideRadGridViewColumnBehavior)target).AssociatedObject == null)
MessageBox.Show("AssociatedObject is null");
}
感謝您的幫助......
轉到AssociatedObject的財產,使右按鍵點擊 - >查找用法。你會發現屬性設置爲null或者根本沒有設置。 – vorrtex 2011-04-04 17:39:08
正確 - 但是這是從XAML設置,它實際上並沒有生成代碼,直到你編譯應用程序...我的意思是,我可能不是說的正確,但你明白了,重點是我贏了在代碼中看不到任何引用。 – Kenn 2011-04-04 17:50:00
之後,你可以把斷點放在這個屬性的setter中。看來xaml代碼沒有將該值設置爲此屬性。 – vorrtex 2011-04-04 18:28:04