Control.FocusState 속성

정의

이 컨트롤에 포커스가 있는지 여부와 포커스를 얻은 모드를 지정하는 값을 가져옵니다.

public:
 property FocusState FocusState { FocusState get(); };
FocusState FocusState();
public FocusState FocusState { get; }
var focusState = control.focusState;
Public ReadOnly Property FocusState As FocusState

속성 값

열거형 값입니다. 포커스가 없는 값은 컨트롤에 포커스가 없음을 나타냅니다.

설명

이 속성은 컨트롤이 키보드 또는 다른 수단에 의해 집중되었는지 여부에 따라 다른 비주얼 스타일을 사용하는 컨트롤을 지원합니다. 일부 컨트롤은 키보드 동작에 포커스가 있는 경우 표시되는 포커스 표시기를 표시하는 시각적 상태를 사용하지만 컨트롤이 포인터 동작에 포커스가 있는 경우 표시기를 표시하지 않습니다. 이러한 컨트롤의 내부 논리는 OnGotFocus 를 구현한 다음 보낸 사람으로부터 FocusState 값을 가져옵니다. FocusState가 키보드인 경우 GoToState를 호출하여 포커스 사각형을 포함하는 다른 명명된 시각적 상태가 로드됩니다. 일반적으로 포커스 관련 시각적 상태는 기본 컨트롤 템플릿 XAML에서 함께 그룹화됩니다. 포커스 수단에 따라 다른 포커스 시각적 개체를 사용하려는 사용자 지정 컨트롤은 동일한 논리 자체를 구현할 수 있습니다. OnGotFocus를 참조하세요.

이 속성을 사용하는 또 다른 방법은 FocusManager 를 사용하여 전체 UI에서 포커스가 있는 요소를 확인한 다음 해당 요소에서 FocusState를 호출하여 해당 컨트롤이 포커스를 받은 방법에 대한 정보를 가져오는 것입니다.

이전 버전에 대한 참고 사항

참고

Windows 8 FocusState가 프로그래밍 방식인 경우 이전 입력 방법이 포인터인 경우에도 키보드 포커스 시각적 개체가 표시됩니다. Windows 8.1 포커스(FocusState.Programmatic)를 호출할 때 포인터 또는 키보드 중 이전의 FocusState는 올바른 포커스 시각적 개체가 표시되도록 유지됩니다. 즉, Focus(FocusState.Programmatic)를 호출한 후 FocusState 속성의 값을 검사 경우 FocusState 속성의 값은 Pointer 또는 Keyboard입니다.

Windows 8 컴파일되지만 Windows 8.1 실행되는 앱에서는 Windows 8 동작이 유지됩니다. FocusState 속성 값은 프로그래밍 방식 이며 키보드 포커스 시각적 개체가 표시됩니다.

참고

ItemsControl에서 상속되는 클래스(예: ListBoxAutoSuggestBox)는 FocusState 속성을 전파하지 않습니다. 항상 포커스가 없는 상태로 반환됩니다. RoutedEventArgs.OriginalSource를 통해 올바른 값에 액세스합니다.

적용 대상