如何从用户控件中引发自定义路由事件?
在我的用户控件中,我有一个按钮,单击该按钮将引发自定义路由事件。 我试图提高它,但它不会在MainWindow.xaml中被触发。
用户控件中按钮的Xaml:
UserControl C#代码:
//AddClick Event public static readonly RoutedEvent AddClickEvent = EventManager.RegisterRoutedEvent("AddClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(dCB_Props)); public event RoutedEventHandler AddClick { add { AddHandler(AddClickEvent, value); } remove { RemoveHandler(AddClickEvent, value); } } void RaiseAddClickEvent() { RoutedEventArgs newEventArgs = new RoutedEventArgs(dCB_Props.AddClickEvent); } protected void OnAddClick() { RaiseAddClickEvent(); } //objects events private void btnAdd_Click(object sender, System.Windows.RoutedEventArgs e) { RaiseAddClickEvent(); }
MainWindow.xaml中UserControl实例的Xaml代码:
应该在MainWindow.xaml.cs中触发的C#代码:
private void dCB_Props_AddClick(object sender, System.Windows.RoutedEventArgs e) { MessageBox.Show("This Works"); }
你需要打电话
RaiseEvent(new RoutedEventArgs(AddClickEvent));