저는 검색 창과 검색 창으로 사용자 컨트롤을 가지고 있는데, 창에 표시하고 있습니다. 버튼을 클릭하면 이벤트가 윈도우의 코드에서 처리 할 수있는 윈도우로 버블 링됩니다. 나는 뒤에 사용자 컨트롤 코드에서 버튼 클릭 코드를 넣고 싶지 않습니다. 어떻게해야합니까?사용자 정의 컨트롤에서 이벤트가 포함 된 창 위로 이벤트를 버블 링하는 방법은 무엇입니까?
창에 대한 XAML은 다음과 같습니다 : 사용자가 들어 나는 Click 이벤트
private void Button_Click(object sender, RoutedEventArgs e)
{
RaiseEvent(e);
}
을 위해 그리고 창에이 코드를 가지고있는 UserControl을위한 뒤에있는 코드에서
<dx:DXWindow
x:Class="Client.Support.AskAQuestionDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:libRes="clr-namespace:Shared.Lib.Resources;assembly=Shared.Lib"
xmlns:support="clr-namespace:Client.Support"
xmlns:gui="clr-namespace:Client.GUI;assembly=Client.GUI"
Title="{x:Static libRes:Strings.AskAQuestion}" Loaded="DXWindow_Loaded"
Height="150" Width="700">
<Grid>
<Viewbox>
<support:ZenForumSearchBar VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Viewbox>
</Grid>
</dx:DXWindow>
컨트롤이 같은 이벤트를 처리하는 처리기를 만들려고
private void ButtonHandler(object sender, RoutedEventArgs e)
{
FrameworkElement fe = e.Source as FrameworkElement;
switch (fe.Name)
{
case "_knowledgeBaseSearchButton":
break;
}
e.Handled = true;
}
나는 생각합니다. 모든 것을 완전히 잘못하고있다. UserControl에서 발생하는 이벤트를 인스턴스화 된 Window에 버블 링하는 방법은 무엇입니까?