Comment puis-je générer un événement routé personnalisé à partir du contrôle de l’utilisateur?

Dans mon contrôle utilisateur, j’ai un bouton qui, lorsqu’il est cliqué, soulèverait un événement routé personnalisé. J’ai tenté de le relever, mais il ne s’est pas déclenché dans MainWindow.xaml.

Xaml pour le bouton dans UserControl:

Code 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(); } 

Code Xaml pour l’instance UserControl dans MainWindow.xaml:

      

Code C # qui devrait être déclenché dans MainWindow.xaml.cs:

 private void dCB_Props_AddClick(object sender, System.Windows.RoutedEventArgs e) { MessageBox.Show("This Works"); } 

Vous devez appeler

 RaiseEvent(new RoutedEventArgs(AddClickEvent));