2012-04-13 23 views
8

Kullanıcı kontrolümde, tıklandığında özel bir Yönlendirilmiş Etkinlik oluşturacak bir düğme var. Onu yükseltmeye çalıştım ama MainWindow.xaml'da kovulmuyor. UserControl düğme içinKullanıcı denetiminden özel bir Yönlendirilmiş Olayı nasıl yükseltebilirim?

Xaml:

<Button x:Name="PART_Add" Content="+" Grid.Column="3" Margin="0,0,0,0" Style="{DynamicResource dTranspButton}" Click="btnAdd_Click"/> 

UserControl C# kodu: MainWindow.xaml UserControl Örneği için

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

Xaml Kodu:

<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> 

C# Kod o MainWindow.xaml.cs:

'te kovulmalıdır
private void dCB_Props_AddClick(object sender, System.Windows.RoutedEventArgs e) 
{ 
    MessageBox.Show("This Works"); 
} 

cevap

16

Sen

RaiseEvent(new RoutedEventArgs(AddClickEvent)); 
+0

Teşekkür çağırmanız gerekir. RaiseAddClickEvent() 'i çağırmam gerektiğini düşündüm. –

+3

RaiseAddClickEvent() aslında bunu yapmalıdır. –

İlgili konular