紧急帮助 - 我必须在WPF窗口应用程序中实现搜索功能。在这个应用程序中,我有一个TreeView控件,当用户点击任何TreeViewnode时,相应的Wpf用户控件将出现在右侧的数据中。
我想实现搜索。用户可以在“搜索”文本框中输入任何内容,并且该搜索词应该在右侧WPF用户控件中突出显示。
我该如何实现?
是否有办法显示搜索的术语而无需点击数据库。
非常感谢您的帮助。
答案 0 :(得分:0)
1)要搜索WPF视图中的任何文本项,您将进入逻辑和可视树以获取子项。
2)识别每个孩子的文本属性,例如.Text,.Content,.Header。
如果找到携带文字信息的项目,则使用
if (<value> is string && ((string)<value>).Contains(searchString))
{
/// Implement step 3 and 4 below.
}
3)如果打算逐个搜索,请使用child.Focus()和child.BringIntoView()调用。否则跳到第4步。
4)使用装饰品突出显示此类项目。
遗憾的是,必须使用Dispatcher.BeginInvoke()
进行此搜索,并且如果存在大量可视项目,则可能会挂起视图。