我想写一个客户行为来设置一些列宽度为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