2010-09-30 60 views
21

我渴望找到一些固体(免费的,开源的或教程/示例)的代码,使WPF组合框执行autocomlete/autofilter作为用户类型。但是,一切到目前为止,我已经试过有过某种问题...WPF Combobox与自动完成/自动过滤器?

我已经考虑其他的事情:

  • 我知道Windows Forms' Combobox control has AutoCompleteMode和我可以embed it in WPF,但我无法想象它会与我的WPF数据绑定很好的发挥。

  • 也许是太复杂了,我需要简化,也许通过建立一维(单属性)ObservableCollections为ComboBoxen ......然而,应用多个过滤器中的一个被其他控件的值设置的挑战(,和一个从用户输入的内容)到使用同一DataSet的不同视图的多个控件,每次用户输入一个字符时都需要一个荒谬的处理能力来销毁和重建列表!

所以......我在智慧的结尾。有什么建议么?

回答

27

如果你的组合框连接到它的一些数据源, 只是让

1-IsTextSearchEnabled = true. 
2-IsEditable = true. 

你是好去

+0

我希望能够搜索多个领域(例如“价值”和“描述“),不区分大小写等 - 但它是一个PITA。回顾一下,因为它可以像模板一样按预期工作。 – ewall 2010-10-25 16:49:21

+0

您可以通过创建另一个属性并将这些字段连接在一起来过滤多个字段。然后将搜索字段设置为该字段。由于它包含了所有需要搜索工作的字段。一点点黑客,但完成工作。 – Kelly 2014-06-21 16:14:01

+1

@ewall你可以试试https://www.nuget.org/packages/THEFilteredComboBox/这个我们创建了这个控件,因为使用上面的属性还不够 – 2015-07-27 23:15:23

3
+0

现在想出来...到目前为止,作者对细节的关注让我印象深刻。 – ewall 2010-09-30 15:44:20

+0

我并没有在当前的项目中使用这个功能,但我会保留在未来的项目上,因为它非常稳定。谢谢! – ewall 2010-10-25 16:51:22

+6

上面的链接已死亡。但使用web.archive.org我发现代码托管在这里http://wpfactb.codeplex.com/(你可以阅读这里的文章http://web.archive.org/web/20120421111715/http: blogs.windowsclient.net/dragonz/archive/2010/02/23/autocomplete-textbox-control-for-wpf.aspx) – 2013-01-10 22:19:59