c# - 在不接受新值的情况下搜索 ComboBox

标签 c# wpf xaml combobox

这个组合框有一长串值,所以我希望用户能够输入他们的想法,这样它就会将他们的文本与组合框的值相匹配。

单独使用 IsTextSearchable 不会做任何事情 - 添加 IsEditable 允许它像我想要的那样被搜索,但允许用户输入他们自己的值到文本区域,我的表单无法接受。

<ComboBox x:Name="deptCombo" IsEditable="True" IsTextSearchEnabled="True" />

一旦用户点击组合框(点击另一个框或“Enter”按钮,等等),我如何允许用户搜索组合框但删除他们输入框中的任何内容(如果它不是预先存在的项目之一)?

最佳答案

根据您的描述,我假设您需要 ComboBox 的自动完成功能。因此,当运算符(operator)键入字符时,您希望在组合框中显示与已键入字符匹配的项目,从而使运算符(operator)可以选择一个字符而无需键入完整值。

我不确定这是如何使用 wpf 和 Xaml 完成的,但是 ComboBox 类有两个控制自动完成的属性:

 ComboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
 ComboBox.AutoCompleteSource = AutoCompleteSource.ListItems;

现在,当运算符(operator)正在输入时,程序会搜索组合框项目并显示匹配项。

阅读有关这些属性的信息以了解其他可能性。 MSDN ComboBox.AutoCompleteMode

关于c# - 在不接受新值的情况下搜索 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195844/

相关文章:

c# - 解析特殊的换行符

c# - 为什么绑定(bind)设置在 .NET 4 和 .NET 3.5 中的行为不同

c# - WPF 复选框标记为 null,尽管它是在 XAML 中设置的

c# - 根据文本的文本 block 的高度和宽度

javascript - 是否可以将 Razor 文件中的模型扩展为单独的 Javascript 文件?

c# - Excel 互操作 MissingMethodException

c# - WPF 默认 DynamicRessource 值

wpf - 如果用户将焦点设置在文本字段上,则显示屏幕键盘。带有 .Net 4 客户端配置文件的 WPF

c# - ScrollViewer 不使用 UWP Windows 10 Phone 滚动

c# - ADO.NET 问题写入数据库