【问题标题】:UWP search in a ComboBox组合框中的 UWP 搜索
【发布时间】:2017-11-05 23:34:53
【问题描述】:

我正在制作一个 UWP 应用程序,其中有一个 ComboBox 和很多项目。我希望用户能够通过输入跳转到特定项目。我发现在ComboBox 上使用IsTextSearchEnabled="True" 正是我想要的。但我不知道如何使用这个属性,文档没有关于它的例子

   <ComboBox x:Name="BrowseBySourceComboBox"  
                                      SelectionChanged="BrowseBySourceComboBox_SelectionChanged"
                                      Grid.Row="1"                                          
                                      PlaceholderText="Select Source"      
                                      IsTextSearchEnabled="True"                                      
                                      Style="{StaticResource ComboBoxStyle}"
                                      ItemsSource="{x:Bind BrowseBySourceComboBoxList, Mode=OneWay}">

这没有给任何文本框输入。

【问题讨论】:

  • 很遗憾,ComboBox 中的 IsEditable 属性是只读的。也许试试AutoSuggestBox
  • 我很清楚这个链接。干什么用的?
  • 我指的是:从 Windows 10 版本 1607 开始,ComboBox 引入了文本搜索功能。默认情况下,ComboBox 会在用户键入时跳转到相关值。您可以将 IsTextSearchEnabled 属性设置为 false 以禁用此行为。这很有用,例如,如果您使用自定义文本搜索扩展了 ComboBox。
  • 我知道...在 WPF 中,您还需要将 IsEditable 设置为 true。但是这个属性在 UWP 中不可用,这就是我要说的。

标签: xaml combobox uwp


【解决方案1】:

但我不确定如何使用此属性,文档中没有示例

根据IsTextSearchEnabled属性的备注:

从 Windows 10 版本 1607 开始,ComboBox 引入了文本搜索功能。默认情况下,ComboBox 会在用户键入时跳转到相关值。

此功能默认开启,你不需要为Combobox设置任何东西,如果你的windows 10版本高于1607,它会起作用。例如,如下图所示,当Comboxbox 集中注意力,我从键盘输入B 它会跳到Blue,输入R 它会跳到红色。更多细节可以参考this ppt的幻灯片29。

这没有给任何文本框输入。

Combobox 在 UWP 应用中不可编辑。 IsEditable 将始终返回 false。 IsTextSearchEnabled 属性在没有可编辑区域的情况下工作。如果您想要一个具有可编辑TextBox 的控件,并且可以通过从TextBox 键入的文本搜索下拉列表,AutoSuggestBox 更适合您,正如@Justin XL 所说。 HereAutoSuggestBox的官方样本。

【讨论】:

  • 当复杂对象的集合绑定到ComboBox 或列表中的项目未排序时,这是否有效?就我而言,它仅在字符串列表绑定到 ComboBox 时才有效
  • @ravikumar 要回答你的问题,我会说根据我的经验,不,除非 ComboBox 绑定到一个简单的字符串集合,否则这不起作用。
  • 它实际上甚至可以处理复杂的项目,但是您必须覆盖其ToString 方法以返回您要用于过滤的string 属性。
猜你喜欢
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-13
  • 1970-01-01
相关资源
最近更新 更多