如何通过在XAML UWP的下拉菜单中键入键盘字母来选择项目

时间:2019-08-28 07:42:17

标签: c# xaml uwp combobox

我正在开发UWP APP,其中一项功能是允许用户从下拉列表中选择国家。当用户单击列表时,它将显示该国家的整个列表,该列表太大而无法选择特定国家。我的要求是,如何添加逻辑,以便用户可以在下拉列表中键入字母,并且列表应自动向下滚动到列表中与用户键入的字母匹配的第一个字母。

1 个答案:

答案 0 :(得分:1)

您可以使用IsTextSearchEnabledIsEditable属性来满足您的需求。

例如:

假设您有一个名为{strong> CountryCollection 的List<string>作为数据源。

<ComboBox IsEditable="True"
          IsTextSearchEnabled="True"
          ItemsSource="{x:Bind CountryCollection}"
          ...
          />

通过这种方式,您可以在ComboBox中输入文本,ComboBox将与数据源中的数据匹配,如果下拉列表处于打开状态,它也可以跳转。

如果您的数据源不是String类型,而是一个更复杂的结构,则要实现此功能,您需要覆盖ToString方法。

public class CountryModel
{
   public string Name {get;set;}

   public override string ToString()
   {
       return Name;
   }
}

最诚挚的问候。