語言

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。

專注通常由兩個獨立概念所支配:鍵盤專注與邏輯專注,兩者並不總是相同。 此方法設定邏輯焦點。 沒有程式化方式可以專門設定鍵盤焦點;鍵盤焦點由使用者輸入決定。 欲了解更多資訊,請參閱 焦點概述 與 輸入概述。

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

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

適用於

另請參閱