가능한 중복에 WPF에서 창을 닫는 방법 :
How can I assign the 'Close on Escape-key press' behavior to all WPF windows within a project?키 탈출
나는 사용자가 탈출 버튼을 클릭하면 내 WPF 프로젝트에서 창을 닫으려면. 모든 창에 코드를 작성하고 싶지는 않지만 사용자가 이스케이프 키를 눌렀을 때 잡을 수있는 클래스를 만들고 싶습니다.
가능한 중복에 WPF에서 창을 닫는 방법 :
How can I assign the 'Close on Escape-key press' behavior to all WPF windows within a project?키 탈출
나는 사용자가 탈출 버튼을 클릭하면 내 WPF 프로젝트에서 창을 닫으려면. 모든 창에 코드를 작성하고 싶지는 않지만 사용자가 이스케이프 키를 눌렀을 때 잡을 수있는 클래스를 만들고 싶습니다.
옵션 1
사용 Button.IsCancel 속성입니다.
<Button Name="btnCancel" IsCancel="true" Click="OnClickCancel">Cancel</Button>
true로 버튼의 IsCancel 속성을 설정
, 당신은 AccessKeyManager에 등록 된 만들기 버튼을 클릭합니다. 버튼은 이고 사용자가 ESC 키를 누르면 활성화됩니다.
그러나이 방법은 대화 상자에서만 제대로 작동합니다.
옵션 2
당신은 Esc를 누르에 창문을 닫으려는 경우 창에 PreviewKeyDown에 처리기를 추가합니다.
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(HandleEsc);
}
private void HandleEsc(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
Close();
}
버튼을 사용하고 싶지 않습니다 ... 어떤 hw 덕분에, 해결책을 찾았습니다 –
@kishorejangid : 두 번째 코드 예제에서는 단추를 사용하지 않습니다. – CharithJ
@kishorejangid - 여기에 답변을 게시 할 수 있습니까? –
내 솔루션이 아니야.이 모든 창에서 수행되기를 원하지 않습니다. 나는 스타일에 그것을 쓰고 싶지만대로 작동하지 이잖아 인한 인적이 –
체크 아웃 스타일에서 사용할 수 없습니다 [이] [1] 포스트 - 그것을 달성하기 위해 exactlyhow 설명이 [1] : http://stackoverflow.com/questions/3863431/how-can-i-assign-the-close-on-escape-key-press-behavior-to-all-wpf-windows-with –
이것은 http://stackoverflow.com/questions/419596/how-does-the-wpf-button-iscancel-property-work –