UIElement.Focus Method


이 요소에 포커스를 설정 하려고 시도 합니다.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.



다음 예에서는 Name에서 참조 하는 TextBox에 포커스를 설정한 다음 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


포커스를 받을 수 있도록 하려면 FocusableIsEnabled 모두 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반환 하는 경우 IsKeyboardFocusedIsKeyboardFocusWithintrue됩니다.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.

Applies to