2014-09-19 1 views
1

내 WPF 애플리케이션에서는 작은 창을 사용하여 알림을 표시하지만 알림 창이 표시되면 메인 윈도우의 포커스가 손실됩니다. 예를 들어 TextBox에 글을 쓸 때 알림 창 (알림 창이 표시됨)이 나타나면 텍스트 상자의 포커스가 사라지고 텍스트 상자를 다시 클릭하여 작업을 계속해야합니다.Wpf는 팝업 창이 텍스트 상자의 포커스를 제거하지 못하도록합니다.

그렇다면 알림 창이 나타나면 어떻게하면 메인 윈도우의 초점을 유지할 수 있습니까? 나는 이미 알림 창에 Focusable = "false"를 설정하려고 시도했다.

+0

재현 할 수있는 작은 예제를 보여줄 수 있습니까? 우리는 당신을 돕기 위해 좀 더 많은 정보가 필요합니다 : 통지 창은 무엇입니까? 어떻게 표시합니까? –

답변

0

는 Window 객체에 ShowActivated 특성이있다 : 하나의 옵션은 포커스를 잃을 때마다 컨트롤에 포커스를 설정하는 것입니다. MSDN에서

은 :

false로 설정된 ShowActivated 속성 창이 열립니다

, 윈도우가 활성화되지 않고 사용자가 수동으로 선택하여 창을 활성화 때까지 활성화 이벤트가 발생하지 않습니다.

+0

감사합니다. 간단하고 효과적인 해결책입니다. – Ced

1

실제로는 의 사례가 아닐 수 있습니다., 오히려 포커스를 잃은 후에 어떻게 컨트롤을 포커스 할 수 있습니까? @ AdrianFaciu가 언급했듯이, 질문에서 모든 관련 정보를 빠뜨린 경우 세부 사항으로 들어가기가 다소 어렵습니다. 당신이 자식 창을 표시 한 후 활성화 된 주 창을 유지할 수 있도록

private void OnControlLostFocus(object sender, RoutedEventArgs e) 
{ 
    YourControlType control = sender as YourControlType; 
    if (control != null) control.Focus(); 
} 
관련 문제