我有一个用户控件(UC1),其中包含其他 UC(UC2)的列表,我想在我的 UC2 中引发一个事件,当其中的某些内容被修改并在 UC1 中捕获它时,我这样声明它:
在我的 UC2 课程中:
public static readonly RoutedEvent LiaisonModifieeEvent = EventManager.RegisterRoutedEvent(
"ModificationOccured", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(UC2));
在我的 UC1 课程的建设者中:
this.AddHandler(UC2.LiaisonModifieeEvent, new RoutedEventHandler(ModificationOccuredEvent_Handler), true);
以及我的处理方法的声明
private void ModificationOccuredEvent_Handler(object sender, RoutedEventArgs e)
{
e.Handled = true;
SaveCablingLinkButton.IsEnabled = true;
}
似乎我错过了一些东西,但我看不到什么,该事件从未在 UC1 中被捕获。
编辑:我忘了提到提升部分
UC2中的某个地方
RaiseEvent(new RoutedEventArgs(UC2.LiaisonModifieeEvent, this));