이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

UIElement.LostFocus 이벤트

2013-12-13

UIElement가 포커스를 잃을 때 발생합니다.

Namespace:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)
XMLNS for XAML: xmlns에 매핑되지 않습니다.

public event RoutedEventHandler LostFocus
<uiElement LostFocus="eventhandler"/>

LostFocus 이벤트는 버블링 이벤트입니다. 이는 개체 트리에서 부모-자식 관계로 연결된 일련의 개체에 대해 여러 개의 LostFocus 이벤트 처리기가 등록되어 있을 경우 관계에 포함된 각 개체에서 이벤트를 수신함을 의미합니다. 버블링이란 이벤트가 입력 조건을 직접 받는 개체에서 시작하여 위로 올라가면서 작동함을 나타내는 비유입니다. 버블링 이벤트의 경우 이벤트 처리기에서 사용할 수 있는 sender에 의해 이벤트가 처리되는 개체가 식별되며, 이 개체는 이벤트를 시작하는 입력 조건을 실제로 수신하는 개체가 아닐 수도 있습니다. 이벤트를 시작한 개체를 가져오려면 이벤트의 RoutedEventArgs 이벤트 데이터에서 OriginalSource 값을 사용합니다.

GotFocus 또는 LostFocus 이벤트를 처리할 경우 이벤트 데이터 클래스에서 Handled 속성을 사용할 수 없으며, 이벤트가 개체 트리 위쪽으로 이동하며 연결된 모든 처리기를 호출합니다. 개체 트리의 다양한 수준에서 포커스를 처리하려는 경우에는 이와 같은 방법이 응용프로그램의 포커스 이벤트 처리 방법으로 적합하지 않을 수도 있습니다. 그런 경우 다음 방법 중 한 가지를 고려해 볼 수 있습니다.

  • 부울 플래그를 사용하여 포커스 상태를 기록합니다. 이벤트를 적절히 처리하는 디자인의 특정 처리기 호출에서 "Handled" 변수를 true로 설정합니다. 추가 처리기에서 이 "Handled" 변수를 확인하여 다른 처리기가 이미 이벤트에 응답했는지 확인하고 응답한 경우 아무런 작업도 수행하지 않습니다. 개체 트리의 루트에서 포커스 이벤트를 처리합니다. 이때 이벤트의 "Handled"를 다시 false로 설정하여 다음 포커스 이벤트를 위해 상태를 지웁니다.

  • 이벤트 데이터의 senderOriginalSource에 의해 처리기에 전달되는 개체 값을 확인하거나 사용합니다. senderOriginalSource와 같거나 sender가 명명된 특정 개체일 때(동일한 포커스 이벤트 처리기가 여러 개체 또는 비슷한 논리 작업에 연결된 경우)에만 동작하도록 선택할 수 있습니다.

GotFocus는 실제 포커스 이동에 대해 비동기적으로 발생하는데 이는 Windows Phone 포커스 시스템의 디자인 때문입니다. 동기적 포커스 값을 가져오려면 FocusManager를 사용합니다.

LostFocus 및 OnLostFocus

LostFocus을 상속하는 컨트롤은 OnLostFocus 메서드를 재정의하여 모든 인스턴스에 대한 처리기 역할을 하는 이벤트 처리를 제공할 수 있습니다. 이벤트를 직접 처리할 때와 마찬가지로 Handled 속성을 사용할 수 없기 때문에 Handled 기법을 통해 이벤트 처리가 더 이상 발생하지 않도록 하는 방식으로 OnLostFocus를 구현할 수 없습니다. 그러나 OnLostFocus는 시각적 상태를 설정할 때나 public 또는 내부 상태 속성에 유용하게 사용할 수 있습니다. 자세한 내용은 OnLostFocus를 참조하세요.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft