다음을 통해 공유


UIElement.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입니다.

구현

예제

다음 예제에서는 에서 참조Name하는 에 포커스를 TextBox 설정한 다음 내에서 TextBox커서의 위치를 조정합니다.

void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
    tbPositionCursor.Focus();
    tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)

    tbPositionCursor.Focus()
    tbPositionCursor.Select(0, 0)

End Sub

설명

포커스가 가능하려면 이고IsEnabled, Focusable 둘 다 여야 true합니다.

요소가 포커스 가능하고 유효한 Focus 경우에도 미리 보기 이벤트는 특정 트리에서 처리될 수 있으며 해당 요소에 대한 포커스가 허용되지 않을 수 있습니다(예: 복합 컨트롤). 이 경우 이 메서드는 를 반환합니다 false.

일반적으로 포커스는 키보드 포커스와 논리적 포커스라는 두 가지 개념으로 제어됩니다. 이러한 두 개념이 항상 동일하지는 않습니다. 자세한 내용은 포커스 요약입력 개요를 참조하세요.

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

관련 속성이 아직 true없는 경우 를 호출Focus할 때 다음 이벤트 PreviewLostKeyboardFocus중 하나 이상이 발생합니다. , PreviewGotKeyboardFocus (원본은 새 포커스 대상), IsKeyboardFocusedChanged, , IsKeyboardFocusWithinChangedLostKeyboardFocus, GotKeyboardFocus (원본은 새 포커스 대상임).

이 호출이 성공하려면 애플리케이션의 다른 요소에 이전에 포커스가 있어야 했습니다. 또한 부모 컨테이너 요소가 이 메서드를 호출할 때 특정 상황에서 자식은 포커스를 가져오고 반환 값은 가 됩니다 false. 요소에 포커스가 있는지 테스트하려면 및 IsKeyboardFocused 속성을 사용합니다IsKeyboardFocusWithin.

적용 대상