Nat*_*ate 3 wpf listbox selection typeahead
我有一个WPF Listbox控件,我想允许用户使用预先输入更改所选项目.我正在寻找的行为与Windows资源管理器完全一样.当您继续键入文件夹名称的文本时,列表将继续选择更正确的项目.
例如,假设此文件夹结构:
OtherFolderName
MyFirstFolder
MyFirstFileFolder
MyFirstList
Run Code Online (Sandbox Code Playgroud)
如果您OtherFolderName使用鼠标选择,则开始键入MyFirstF该项目MyFirstFolder将被选中,但如果您继续键入MyFirstFi该项目MyFirstFileFolder将被选中.
我的WPF列表框没有表现出这种行为,我希望我可以轻松启用它,因为旧的WinForms列表框就是这样做的.
看一下TextSearch类,特别是TextSearch.TextPath附加属性:
<ListBox TextSearch.TextPath="FolderName" ... />
Run Code Online (Sandbox Code Playgroud)
TextSearch.TextPath属性启用文本搜索,并指定如何从每个项目中提取搜索文本.在这种情况下,我假设您的每个Folder对象都有一个名为"FolderName"的属性.
如果这不能满足您的需求,您可能必须实施自己的搜索,因为TextSearch功能不是特别可调.去做这个:
我将使用附加属性将其构建为一个单独的类,类似于内置的TextSearch类.
| 归档时间: |
|
| 查看次数: |
2787 次 |
| 最近记录: |