autocompleteboxfocusonwpf当我尝试关注我的“autocompletetextbox”时,我失败了,我写了autocompletetextbox.focus()但光标仍然关注另一个我应该做什么或写什么来使写作或专注?我遇到了同样的事情-它在当前形式下无法正常工作(我希望你谈论的是2010年2月发布的WPFToolkit附带的AutoCompleteBox)。我创建了一个子类:publicclassAutoCompleteFocusableBox:AutoCompleteBox{publicoverridevoidOnApplyTemplate(){base.OnApplyTemplate();vartextbox=Template.FindName("Text",this)asTextBox;如果(文本框!=null)文本框.Focus();}}这会将焦点设置到实际的TextBox(称为“Text”),它是默认ControlTemplate的一部分。您必须覆盖Focus方法才能找到文本框的模板。publicclassFocusableAutoCompleteBox:AutoCompleteBox{publicnewvoidFocus(){vartextbox=Template.FindName("Text",this)asTextBox;if(textbox!=null)textbox.Focus();这是一个非常老的问题,但我想分享我的解决方法。Keyboard.Focus(自动完成文本框);autocompletetextbox.MoveFocus(newTraversalRequest(FocusNavigationDirection.Next));这适用于Windows桌面版VisualStudioExpress2015上的WPFToolkitv3.5.50211.1看来您必须先等待自动完成框加载。然后设置焦点_employeesAutoCompleteBox.Loaded+=(sender,e)=>((AutoCompleteBox)sender).Focus();这是我的解决方案,我发现它比继承类更容易privatevoidUserControl_Loaded(objectsender,RoutedEventArgse){vartextBox=FindVisualChild(CodedCommentBox);textBox.Focus();}privateTChildItemFindVisualChild(DependencyObjectobj)whereTChildItem:DependencyObject{for(vari=0;i(child);if(childOfChild!=null){returnchildOfChild;}}returnnull;}这是我设置焦点的解决方案AutoCompleteTextBox控件文本:privatevoidMyPageLoaded(objectsender,RoutedEventArgse){varmyPage=(MyControl)sender;varautoTextBox=(AutoCompleteTextBox)myPage.FindName("AutoTextBox");if(autoTextBox!=null){varinnerTextBox=autoTextBox.textBox;if(innerTextBox!=null){innerTextBox.Focus();}}}以上是C#学习教程:autocompletebox关注wpf分享的所有内容,如果对你有用还需要详细了解C#学习教程,希望大家多多关注,本文采集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。除非转载,否则请注明出处:
