語言

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 如果只有邏輯焦點設定在這個元素上,或者呼叫此方法並未強制改變焦點。

實作

範例

以下範例將焦點設定為 TextBox 由 Name參考的 ,然後調整游標在 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

備註

要聚焦 Focusable ,且 IsEnabled 兩者都必須是 true。

即使該元素是可聚焦且有效的 Focus ,預覽事件仍可能在特定樹狀結構中處理,且不允許聚焦該元素(例如在複合控制中)。 此時,此方法回傳 false。

一般來說,專注是由兩個不同的概念控制:鍵盤專注和邏輯專注。 這兩個概念並不總是相同。 更多資訊請參閱 焦點摘要 與 輸入概述。

若呼叫Focus,則返回 true和 IsKeyboardFocusedIsKeyboardFocusWithin 也是 true。

若相關性質尚未 true具備 ,當您呼叫 Focus時,會依序引發以下一個或多個事件: PreviewLostKeyboardFocus, ( PreviewGotKeyboardFocus 來源為新的焦點目標)、 IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, ( GotKeyboardFocus 來源為新的焦點目標)。

要讓這個呼喚成功,申請中必須先聚焦其他元素。 此外,當父容器元素呼叫此方法時,在某些情況下子節點會取得焦點,回傳值為 false。 要測試元素是否有焦點,請使用 IsKeyboardFocusWithin 和 IsKeyboardFocused 屬性。

適用於