ContentElement.Focus 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
嘗試將焦點設定至此項目。
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
。
一般而言,焦點是由兩個不同的概念所控管:鍵盤焦點和邏輯焦點,這不一定相同。 這個方法會設定邏輯焦點。 沒有特別設定鍵盤焦點的程式設計方式;鍵盤焦點取決於使用者輸入。 如需詳細資訊,請參閱 焦點概觀 和 輸入概觀。
如果呼叫 會傳 true
Focus 回 , IsKeyboardFocused 而且 IsKeyboardFocusWithin 也是 true
。
如果相關的屬性還 true
不是 ,當您呼叫 Focus 時,會依下列順序引發一或多個下列事件: PreviewLostKeyboardFocus 、 PreviewGotKeyboardFocus (來源是新的焦點目標) 、 IsKeyboardFocusedChanged 、 IsKeyboardFocusWithinChanged 、、 LostKeyboardFocus (GotKeyboardFocus 來源是新的焦點目標) 。