在WPF中的任何地方自动完成ComboBox的文本(不仅仅是开始)

rob*_*ntw 29 .net c# wpf combobox

我在WPF中有一个ComboBox,我已经用了很多东西(它有一个自定义模板和一个自定义项模板).我已经明白了它现在几乎是我想要它的工作方式,除了当我输入ComboBox时它正在为我做过滤,但只有过滤器假设我输入的内容才会启动项目的名称. ComboBox.

例如,如果我在ComboBox中有一个名为"Windows Media Player"的项目,它只会在我开始输入"Windows Media ..."时找到它,如果我开始输入"Media Play ..."则找不到它. .有没有办法解决?我可以在某个地方设置一个属性来告诉它在整个字符串中搜索而不是仅使用StartsWith()吗?

如果没有,那么自己做这件事最好的方法是什么?有没有办法采取原始控件,基本上只是将对StartsWith()的调用更改为对Contains()的调用,还是我必须更低级别?

rre*_*ves 38

组合框现在支持自动完成,只需在xaml中确保组合框放置

IsEditable="True"
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,允许用户输入无效数据,您必须添加更多逻辑/事件处理. (13认同)

Avi*_* P. 8

查看CodeProject中的以下文章: 可重用的WPF自动完成文本框