FrameworkElement.OnGotFocus(RoutedEventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當未處理的 GotFocus 事件到達其路由中的這個項目時,便會叫用此方法。
protected:
override void OnGotFocus(System::Windows::RoutedEventArgs ^ e);
protected override void OnGotFocus (System.Windows.RoutedEventArgs e);
override this.OnGotFocus : System.Windows.RoutedEventArgs -> unit
Protected Overrides Sub OnGotFocus (e As RoutedEventArgs)
參數
包含事件資料的 RoutedEventArgs。
備註
不同于基底元素公開的一些其他 On* 方法, OnGotFocus 會有預設實作。 具體來說,它有一個實作,它會覆寫下一個基底元素 OnGotFocus 下層中的 Null 實作。 叫用時, OnGotFocus 在事件因鍵盤焦點而源自目前元素的情況下,設定此元素的適當焦點行為。 即使 OnGotFocus 焦點設定為目前專案,處理常式也不會將事件引數標示為已處理。 如果事件的來源是樹狀結構中的另一個專案, (不是目前元素) ,處理常式就不會執行任何動作。
您可以覆寫這個方法,以變更元素的預設焦點行為,但請注意,透過這種方式變更焦點行為,可能無法讓專案完全成為焦點, (看到 Focusable) 。
給繼承者的注意事項
如果您想要標記在引數中處理的事件,您應該注意專案樹狀結構中其他父元素中事件處理的結果。 由於此處理程式會處理具有反升路由的事件,因此可能不適合將焦點設定為每個事件引數目前的 sender
。 焦點可能需要移至複合子專案或父元素,視特定控制項的組成而定。 因此,只有在事件所路由傳送的整個視覺化樹狀結構是組成您撰寫之控制項的一部分時,才建議將焦點事件標示為已處理。