我有一个包含doc,excel,ppt等文件的文件夹。一旦用户从组合中选择了一个类别,我就分配了与特定选择相关的关键字。我的wpf应用程序必须搜索关键字的整个文件夹和文件内容,并在gridview中显示匹配的文件。还必须保持速度和性能
我该如何编写此功能?
答案 0 :(得分:1)
您的查询的WPF部分非常简单;只需将目标控件的ItemsSource设置为搜索结果...
List<string> MyKeyWords = GetKeywords();
var allDirectories = new DirectoryInfo(SearchDirectoryName).GetDirectories("*", SearchOption.AllDirectories);
myGrid.ItemsSource = (from di in allDirectories from fi in di.GetFiles() where HasKeyWordMatch(fi, MyKeyWords) select fi);
然后将网格绑定到数据模板中的相应属性。
更难以解决的是'HasKeyWordMatch'
谓词,它可能采用FileInfo对象和关键字列表,如果找到匹配则返回true / false。由于您要扫描专有格式,因此您需要为每种格式编写扫描引擎。