2013-10-20 2 views
0

xceed wpf Toolkit을 사용하고 있습니다. ChildWindow를 사용하고 있습니다. 이스케이프 키를 누를 때 열린 하위 창을 닫아야합니다. 코드는 다음과 같습니다닫기 xceed 종료 버튼의 하위 창 클릭

<xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit" > 
//My Content Here 
</xctk:ChildWindow> 

도와 주시겠습니까 ??

답변

0

버전 2.0.0 이상을 사용하는 경우 을 WindowContainer에 넣고 PreviewKeyDown 이벤트를 사용해야합니다.

XAML :

<xctk:WindowContainer> 
    <xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit"       
        PreviewKeyDown="ChildVendorsEdit_PreviewKeyDown" >     
    </xctk:ChildWindow> 
</xctk:WindowContainer> 

코드 숨김

XAML : 당신이 2.0.0 이하 버전을 사용하는 경우

private void ChildVendorsEdit_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Escape) 
    { 
     (sender as Xceed.Wpf.Toolkit.ChildWindow).WindowState = Xceed.Wpf.Toolkit.WindowState.Closed; 
    } 
} 

당신이 PreviewKeyDown 이벤트를 사용한다

<xctk:ChildWindow x:Name="ChildVendorsEdit" IsModal="True" WindowStartupLocation="Center" Caption="Edit"       
        PreviewKeyDown="ChildVendorsEdit_PreviewKeyDown" >    
</xctk:ChildWindow> 

코드 숨김

private void ChildVendorsEdit_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Escape) 
    { 
     (sender as Xceed.Wpf.Toolkit.ChildWindow).WindowState = Xceed.Wpf.Toolkit.WindowState.Closed; 
    } 
} 

PreviewKeyDown 이벤트 처리기에서 ChildWindow을 닫으려면 두 가지 옵션이 있습니다 : 사용자가 설정할 수

  • WindowState, Closed-
  • 또는 당신은 할 수 Close 메소드를 호출하십시오.
1

버튼에 "IsCancel"속성을 사용하십시오.

<Button Content="Discard" Click="ButtonDiscard_OnClick" IsCancel="True"></Button> 

같은 IsDefault 위해 (키 입력)