다음을 통해 공유


ContentElement.Focus 메서드

정의

이 요소에 포커스를 설정하려고 시도합니다.

public:
 virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean

반환

이 요소에 키보드 포커스를 설정할 수 있으면 true이고, 이 메서드를 호출해도 포커스를 강제 설정하지 못한 경우에는 false입니다.

구현

예제

다음 예제는 문서에서 지정된 명명된 단락을 찾아 포커스를 설정하는 페이지 로드 이벤트 처리기입니다. 단락은 기본적으로 포커스를 지정할 수 없습니다. 이 특정 단락에는 스타일을 사용하여 포커스를 지정할 수 있는 스타일 Setter 이 적용되었습니다(표시되지 않음).

void FocusOnParagraph(object sender, RoutedEventArgs e)
{
  ContentElement ce = this.FindName("focusableP") as ContentElement;
  ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
  ce.Focus()
End Sub

설명

포커스가 가능 Focusable 하려면 및 가 IsEnabled 모두 여야 true합니다. 거의 모든 ContentElement 파생 클래스는 기본적으로 적용되지 않습니다 Focusable .

요소가 포커스 가능하고 사용하도록 설정되어 있더라도 특정 트리 내의 이벤트 처리(예: 복합 컨트롤의 경우)는 포커스를 허용하지 않음으로써 미리 보기 포커스 이벤트에 응답할 수 있으므로 이 메서드는 를 반환 false합니다.

일반적으로 포커스는 키보드 포커스와 논리적 포커스라는 두 가지 개념으로 제어되며, 항상 동일하지는 않습니다. 이 메서드는 논리적 포커스를 설정합니다. 특별히 키보드 포커스를 설정하는 프로그래밍 방식의 수단은 없습니다. 키보드 포커스는 사용자 입력에 의해 결정됩니다. 자세한 내용은 포커스 개요입력 개요를 참조하세요.

호출 Focus 이 를 IsKeyboardFocused 반환true하는 경우 및 IsKeyboardFocusWithintrue입니다.

관련 속성이 아직 true이 아닌 경우 를 호출Focus할 때 , (원본은 새 포커스 대상), IsKeyboardFocusedChanged, PreviewGotKeyboardFocus , IsKeyboardFocusWithinChangedLostKeyboardFocusGotKeyboardFocus ,(원본은 새 포커스 대상) 순서대로 PreviewLostKeyboardFocus하나 이상의 이벤트가 발생합니다.

적용 대상

추가 정보