2013-10-02 3 views
1

PreviewLostKeyboardFocus 핸들러에서 새로운 포커스가있는 컨트롤을 찾는 방법이 있습니까? 예를 들어, PreviewLostKeyboardFocus 이벤트가있는 텍스트 상자 컨트롤이 있고 다른 컨트롤을 클릭했습니다. PreviewLostKeyboardFocus 핸들러 메서드 내에서 새로운 컨트롤이 무엇인지 알아낼 방법이 있습니까?WPF PreviewLostKeyboardFocus에서 새로운 포커스 컨트롤 찾기

이상한 부분은 textbox.IsFocused가 false를 반환하고 FocusManager.GetFocusedElement (Application.Current.MainWindow)가 현재 텍스트 상자 컨트롤을 반환한다는 것입니다.

많은 감사의 말을 전합니다.

답변

0

컨트롤의 TabIndex 속성을 설정해야합니다.
아마도 다음 포커스는 다음 TabIndex가있는 컨트롤이됩니다.

다음 질문에 대해서는 런타임에 IsFocused가 설정됩니다. 따라서 디버거를 사용하여 TextBox 속성을 보면 키보드가있을 때만 IsFocused true을 볼 수 있습니다.

+0

답장을 보내 주셔서 감사합니다 Tico,하지만 정확히 내가 뭘 찾고 있어요. – Ming

+0

다른 컨트롤 (다른 컨트롤)을 클릭한다고 가정하고 코드가 PreviewLoseKeyboardFocus 핸들러 메서드 내에서 실행되는 동안 그 컨트롤이 무엇인지 알고 싶습니다. 나는이 경우 tabIndex가 나를 도울 것이라고 생각하지 않는다. textbox.IsFocused 속성의 경우 디버그 모드 (textbox_PreviewLostKeyboardFocus() 이벤트 핸들러 내부)의 값을 확인했으며 false를 반환합니다. 그럼에도 불구하고, 정말 고마워요! – Ming

+0

죄송합니다. 저는 당신을 올바르게 도울 수 없습니다! – Tico