【发布时间】:2018-08-01 15:35:11
【问题描述】:
如何聚焦到 AutoCompleteBox?我通过在 stackover 上搜索但没有获得焦点尝试了许多代码。这是我写的一些代码。
<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();,但没有得到结果。
【问题讨论】: