Jak mogę podnieść niestandardowe zdarzenie routowane z poziomu kontroli użytkownika?
W mojej kontroli użytkownika mam przycisk, który po kliknięciu spowoduje podniesienie niestandardowego zdarzenia routowanego. Próbowałem go podnieść, ale nie został zwolniony w MainWindow.xaml.
Xaml dla przycisku w UserControl:
<code><Button x:Name="PART_Add" Content="+" Grid.Column="3" Margin="0,0,0,0" Style="{DynamicResource dTranspButton}" Click="btnAdd_Click"/> </code>
Kod UserControl C #:
<code>//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>
Kod Xaml dla instancji UserControl w MainWindow.xaml:
<code><local:dCB_Props x:Name="cb1" Margin="41.166,0,36.19,25" VerticalAlignment="Bottom" Height="30" Width="141" AddClick="dCB_Props_AddClick"> <local:dCB_Props.Items> <ComboBoxItem Content="item1"/> </local:dCB_Props.Items> </local:dCB_Props> </code>
Kod C #, który powinien zostać zwolniony w MainWindow.xaml.cs:
<code>private void dCB_Props_AddClick(object sender, System.Windows.RoutedEventArgs e) { MessageBox.Show("This Works"); } </code>