Xaml Windows Phone 8.1-自动完成和列表框焦点

Xaml Windows Phone 8.1-自动完成和列表框焦点,xaml,listbox,windows-phone-8.1,Xaml,Listbox,Windows Phone 8.1,我有文本框和列表框。在文本框中键入内容后,listbox将开始根据文本框中键入的文本填充建议。列表框位于弹出窗口内,只有在有任何建议时才会打开。一个传统的自定义自动建议框 现在的问题是,当用户开始键入时,弹出窗口将打开并从文本框中窃取焦点。所以用户无法继续键入。解决这个问题的最佳标准方法是什么 当弹出窗口打开时,我尝试聚焦文本框。但是它仍然有一个小的延迟(这是第一次,当ListBox渲染时),我可以看到虚拟键盘上下跳动时闪烁。似乎需要阻止文本框失去焦点 我假设您的列表框和文本框使用MVVM(模型

我有文本框和列表框。在文本框中键入内容后,listbox将开始根据文本框中键入的文本填充建议。列表框位于弹出窗口内,只有在有任何建议时才会打开。一个传统的自定义自动建议框

现在的问题是,当用户开始键入时,弹出窗口将打开并从文本框中窃取焦点。所以用户无法继续键入。解决这个问题的最佳标准方法是什么


当弹出窗口打开时,我尝试聚焦文本框。但是它仍然有一个小的延迟(这是第一次,当ListBox渲染时),我可以看到虚拟键盘上下跳动时闪烁。

似乎需要阻止文本框失去焦点

我假设您的列表框和文本框使用MVVM(模型视图视图模型)。因此,我的视图模型中有一个搜索条件值,用于填充弹出窗口中的列表

 <TextBox Text="{Binding Path=SearchCriteria, Mode=TwoWay, UpdateSourceTrigger=Explicit}"></TextBox>

UpdateSourceTrigger是键,默认情况下,文本框仅在失去焦点时更新,但当您将绑定更改为UpdateSourceTrigger=Explicit时,它将在每个键笔划上更新视图模型


通过这种方式,您可以使用每个键笔划重新筛选列表,并且文本框不会失去焦点

似乎您需要阻止文本框失去焦点

我假设您的列表框和文本框使用MVVM(模型视图视图模型)。因此,我的视图模型中有一个搜索条件值,用于填充弹出窗口中的列表

 <TextBox Text="{Binding Path=SearchCriteria, Mode=TwoWay, UpdateSourceTrigger=Explicit}"></TextBox>

UpdateSourceTrigger是键,默认情况下,文本框仅在失去焦点时更新,但当您将绑定更改为UpdateSourceTrigger=Explicit时,它将在每个键笔划上更新视图模型


通过这种方式,您可以使用每个键笔划重新筛选列表,并且文本框不会失去焦点

ListBox上的IsEnabled=False或IsTabStop=False或IshittesVisible=False您考虑过使用组合框吗?它似乎适合您的需要。ListBox上的IsEnabled=False或IsTabStop=False或IshitteVisible=False您考虑过使用组合框吗?它似乎适合你的需要。