8
내 사용자 컨트롤에서 클릭 할 때 사용자 지정 라우팅 이벤트를 발생시키는 단추가 있습니다. 나는 그것을 시도했지만 MainWindow.xaml에서 해고 당하지 않는다. UserControl에있는 버튼사용자 정의 라우팅 이벤트를 사용자 정의 컨트롤에서 발생시키는 방법은 무엇입니까?
XAML :
<Button x:Name="PART_Add" Content="+" Grid.Column="3" Margin="0,0,0,0" Style="{DynamicResource dTranspButton}" Click="btnAdd_Click"/>
UserControl을 C# 코드 : MainWindow.xaml에서 UserControl을 예를 들어
//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 코드 :
<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# 코드가 MainWindow.xaml.cs에서 해고되어야합니다.
,private void dCB_Props_AddClick(object sender, System.Windows.RoutedEventArgs e)
{
MessageBox.Show("This Works");
}
감사를 호출해야합니다. 나는 RaiseAddClickEvent()를 호출해야한다고 생각했다. –
그것이 RaiseAddClickEvent()가 실제로해야하는 것입니다. –