[英]Set Focus of TextBox inside UserControl
我有一個UserControl
其中只有一個TextBox
,該TextBox
具有一些附加的屬性和一些代碼,由於我打算在多個視圖中使用它,因此我創建了一個UserControl
以提高可重用性和維護性。
此TextBox
用於搜索,因此我嘗試在用戶進行Ctrl+F
時將其設置為Focus,這很好用,問題是,我無法使TextBox
焦點,只是UserControl
獲得了焦點。
所以問題是:如何將UserControl
的Focus
重定向到其中的TextBox
?
我已經嘗試過了:
protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
this.TextBox.SelectAll();
base.OnPreviewGotKeyboardFocus(e);
}
以及其他許多不同的組合,例如更改base
的調用順序或將其刪除...調用this.TextBox.Focus()
設置StackOverFlow ...驗證this.TextBox.IsFocused
是否無效,始終false
...所以...我該如何實現?
好的,知道了,我更改了:
protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
this.TextBox.SelectAll();
base.OnPreviewGotKeyboardFocus(e);
}
至:
protected override void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
this.TextBox.SelectAll();
base.OnGotKeyboardFocus(e);
}
我猜冒泡和隧道RoutedEvents
的整個RoutedEvents
交互都是干擾的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.