我正在开发 UWP 应用程序,其中一项功能允许用户从下拉列表中选择国家/地区。当用户单击列表时,它会显示国家/地区的整个列表,该列表太大而无法选择特定国家/地区。我的要求是如何添加一个逻辑,用户可以在下拉列表中键入字母,并且列表应自动向下滚动到列表中与用户键入的字母相匹配的第一个字母。
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
您可以使用IsTextSearchEnabled和IsEditable属性来满足您的需求。
例如:
假设您有一个List<string>命名的CountryCollection作为数据源。
<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;
}
}
- 1 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消