확장 최소화

Control.Focus Method

컨트롤에 포커스를 설정하려고 합니다.

구문


public:
bool Focus(
  FocusState value
)

매개 변수

value

형식: FocusState

열거형의 값으로 포커스가 설정된 방법을 지정합니다.

반환 값

형식: System.Boolean [.NET] | Platform::Boolean [C++]

컨트롤에 포커스를 설정했거나 컨트롤에 포커스가 이미 있으면 true입니다. 컨트롤에 포커스를 설정할 수 없으면 false입니다.

설명

매개 변수가 FocusState.Unfocused인 이 메서드를 호출하여 컨트롤에서 포커스를 제거할 수 없습니다. 이 값은 허용되지 않으며 예외가 발생합니다. 컨트롤에서 포커스를 제거하려면 다른 컨트롤에 포커스를 설정합니다.

일반적으로 FocusState.Programmatic을 매개 변수로 전달하여 Focus 메서드에 대한 의도적인 호출을 통해 포커스를 얻은 컨트롤을 나타냅니다. 예를 들어 포커스가 TextBox에 설정되는 "편집" 단추를 클릭할 경우 Programmatic 포커스 상태를 사용합니다.

포커스를 포인터 상호 작용의 직접적인 결과로 설정할 경우 FocusState.Pointer를 전달합니다. 탭 시퀀스 또는 키 누르기와 같은 키보드 상호 작용의 결과로 포커스를 설정할 경우 FocusState.Keyboard를 매개 변수로 전달합니다. 예를 들어 ItemsControl를 구현하고 컨트롤의 항목들 사이로 사용자가 포커스를 이동하도록 키 누름을 처리할 경우 키 누름 처리기에서 Focus를 호출할 때 Keyboard를 사용합니다.

참고  

Windows 8에서는 FocusStateProgrammatic인 경우, 이전 입력 방법이 포인터인 경우에도 시각적 키보드 포커스가 표시됩니다. Windows 8.1의 경우 Focus(FocusState.Programmatic)를 호출하면, 이전 FocusState(Pointer 또는 Keyboard)가 보존되어 올바른 포커스 비주얼이 표시됩니다. 즉, Focus(FocusState.Programmatic)를 호출한 후 FocusState 속성의 값을 확인하는 경우 FocusState 속성의 값은 Pointer 또는 Keyboard가 됩니다.

Windows 8용으로 컴파일되었지만 Windows 8.1에서 실행되는 앱에서는 Windows 8 동작이 보존됩니다. FocusState 속성 값은 Programmatic이며 키보드 포커스 화면 효과가 표시됩니다.

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

Windows.UI.Xaml.Controls
Windows::UI::Xaml::Controls [C++]

Metadata

Windows.winmd

참고 항목

Control
Control.FocusState
UIElement.GotFocus
UIElement.LostFocus
Control.OnGotFocus
키보드 입력에 응답
키보드 접근성 구현
화면 키보드의 모양에 응답 샘플

 

 

표시:
© 2015 Microsoft