如何集中精力进入AutoCompleteBox?我已经尝试了许多代码,搜索堆栈,但没有得到关注。这是我写的一些代码。
<controls:AutoCompleteBox Name="SearchTextBox" IsTextCompletionEnabled="True" SelectedItem="{Binding Code, Mode=TwoWay}" Grid.Column="1" PreviewKeyDown="SearchTextBox_PreviewKeyDown" >
<controls:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Code}"/>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</controls:AutoCompleteBox.ItemTemplate>
</controls:AutoCompleteBox>为了聚焦,我创建了一个名为FocusableAutoCompleteBox的类
public class FocusableAutoCompleteBox : AutoCompleteBox
{
public new void Focus()
{
var textbox = Template.FindName("SearchTextBox", this) as AutoCompleteBox;
if (textbox != null) textbox.Focus();
}
}并专注于
new FocusableAutoCompleteBox().Focus();但错误会出现
对象引用未设置为对象实例
我也尝试过SearchTextBox.Focus();,但没有得到结果。
发布于 2018-08-01 15:58:38
这对我有用。
Keyboard.Focus(SearchTextBox);
SearchTextBox.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));https://stackoverflow.com/questions/51637268
复制相似问题