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

一般而言,焦點是由兩個不同的概念所控管:鍵盤焦點和邏輯焦點,這不一定相同。 這個方法會設定邏輯焦點。 沒有特別設定鍵盤焦點的程式設計方式;鍵盤焦點取決於使用者輸入。 如需詳細資訊,請參閱 焦點概觀輸入概觀

如果呼叫 會傳 trueFocus 回 , IsKeyboardFocused 而且 IsKeyboardFocusWithin 也是 true

如果相關的屬性還 true 不是 ,當您呼叫 Focus 時,會依下列順序引發一或多個下列事件: PreviewLostKeyboardFocusPreviewGotKeyboardFocus (來源是新的焦點目標) 、 IsKeyboardFocusedChangedIsKeyboardFocusWithinChanged 、、 LostKeyboardFocus (GotKeyboardFocus 來源是新的焦點目標) 。

適用於

另請參閱