如何在WPF树视图中突出显示搜索结果?

时间:2010-04-13 12:59:33

标签: c# wpf xaml search treeview

我正在开发一个应用(A database file system)。我在其GUI中使用WPF树视图。树视图项目直接从我的应用程序数据库中提取。

我想在输入时搜索并突出显示树视图项目。 要更好地理解这个问题,请考虑浏览器中显示的关键字搜索结果。


alt text http://img100.imageshack.us/img100/4168/chromel.jpg

我如何在我的背景下实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以通过“KeyDown”事件的组合对用户键入的任何控件执行此操作。

而这......

Highlight whole treeview lines

答案 1 :(得分:2)

使用视图模型,包装树视图中显示的所有项目。给他们所有的IsHighlighted属性。对视图模型项执行搜索,如果它们符合条件,则将IsHighlighted属性设置为true。在treeviewitem样式上使用绑定到IsHighlighted属性的触发器,该触发器更新背景的颜色。

树视图一次只能有一个选定的项目(它不支持多个选择,如列表视图)因此,如果您想拥有多个搜索结果,则设置树视图的SelectedItem将不够。使用具有IsExpanded等属性的视图模型也可以让你做一些时髦的东西。例如如果找到某个节点,您可以展开它上面的所有其他节点,使其可见。