如何通过在 xaml UWP 下拉列表中键入键盘字母来选择项目

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



慕神8447489
浏览 129回答 1
1回答

慕斯王

您可以使用IsTextSearchEnabled和IsEditable属性来满足您的需求。例如:假设您有一个List<string>命名的CountryCollection作为数据源。<ComboBox IsEditable="True"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IsTextSearchEnabled="True"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ItemsSource="{x:Bind CountryCollection}"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; />这样就可以在ComboBox中输入文本,ComboBox会匹配数据源中的数据,如果下拉列表打开的话还可以跳转。如果你的数据源不是String类型,而是更复杂的结构,为了实现这个功能,你需要重写该ToString方法。public class CountryModel{&nbsp; &nbsp;public string Name {get;set;}&nbsp; &nbsp;public override string ToString()&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp;return Name;&nbsp; &nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP