我在我的控件上设置一个行为(在 xaml 中),该行为具有以下代码:
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.Loaded += OnMycontrolLoaded;
AssociatedObject.Unloaded += OnMycontrolUnloaded;
}
private void OnMycontrolLoaded(object sender, RoutedEventArgs e)
{
AssociatedObject.MyEvent +=MyEventHandler;
}
protected override void OnDetaching()
{
base.OnDetaching();
AssociatedObject.Loaded -= OnMycontrolLoaded;
AssociatedObject.Unloaded -= OnMycontrolUnloaded;
}
当我创建控件的几个实例时,发生了一些奇怪的事情:调用了 OnMycontrolLoaded 方法(即加载了控件/AssociatedObject),但其中的 AssociatedObject 为空。
为什么会这样?