UIElement.Focus 메서드


이 요소에 포커스를 설정하려고 시도합니다.Attempts to set focus to this element.

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



키보드 포커스와 논리적 포커스가 이 요소로 설정되어 있으면 true이고, 논리적 포커스만 이 요소로 설정되어 있거나 이 메서드에 대한 호출이 포커스를 강제로 변경하지 않으면 false입니다.true if keyboard focus and logical focus were set to this element; false if only logical focus was set to this element, or if the call to this method did not force the focus to change.



다음 예제에서는에서 참조 하는로 포커스를 설정한 TextBox Name 다음 내에서 커서의 위치를 조정 합니다 TextBox .The following example sets focus to a TextBox referenced by Name, and then adjusts the position of the cursor within the TextBox.

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

    tbPositionCursor.Select(0, 0)

End Sub


포커스를 받을 수 Focusable 있으며 IsEnabled 둘 다 여야 합니다 true .To be focusable, Focusable and IsEnabled must both be true.

요소가 포커스 가능 하 고 유효한 경우 Focus 에도 미리 보기 이벤트는 특정 트리에서 처리 될 수 있으며 해당 요소에 대 한 포커스는 허용 되지 않을 수 있습니다 (예: 복합 컨트롤).Even if the element is focusable and valid, the Focus preview events may be processed in a specific tree, and focus on that element may not be allowed (for example, in a composite control). 이 경우이 메서드는를 반환 false 합니다.In such a case, this method returns false.

일반적으로 포커스는 키보드 포커스와 논리적 포커스 라는 두 가지 개념을 통해 제어 됩니다.In general, focus is controlled by two different concepts: keyboard focus and logical focus. 이러한 두 개념은 항상 동일 하지는 않습니다.These two concepts are not always the same. 자세한 내용은 포커스 요약입력 개요를 참조 하세요.For more information, see Focus summary and Input Overview.

를 호출 Focus 하면 true IsKeyboardFocusedIsKeyboardFocusWithin 도 반환 됩니다 true .If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

관련 속성이 아직 없는 경우를 true 호출 하면 Focus 다음 이벤트 중 하나 이상이 순서 대로 발생 합니다. PreviewLostKeyboardFocus , PreviewGotKeyboardFocus (원본이 새 포커스 대상 인 경우),,, IsKeyboardFocusedChanged IsKeyboardFocusWithinChanged LostKeyboardFocus GotKeyboardFocus (소스가 새 포커스 대상입니다.)If the related properties are not already true, when you call Focus, one or more of the following events are raised in the following order: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (source is the new focus target), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (source is the new focus target).

이 호출이 성공에 대 한 순서 대로 다른 요소는 애플리케이션에서 이전에 포커스가 있어야 필요 합니다.In order for this call to be successful, some other element in the application needed to have focus previously.

적용 대상