1

Chrome 有一个很棒的功能:您可以搜索设置页面,Chrome 只显示相关设置,或者,如果您需要打开一个窗口,还有一点提示。我真的很喜欢这个功能,并希望在我的开源工具中实现它。

从技术上讲,这怎么可能实现?

4

1 回答 1

1

您可以尝试对设置集合使用集合视图,并在更改搜索字符串后对其进行过滤。

var settings = new ObservableCollection<SettingsClassType>();
SettingsCollView = CollectionViewSource.GetDefaultView(settings);
SettingsCollView.Filter += (o) => {
  var setting = (SettingsClassType)o;
  return string.IsNullOrEmpty(YourSearchInput)
         || setting.Name.Contains(YourSearchInput);
}

private string yourSearchInput;
public bool YourSearchInput
{
  get { return yourSearchInput; }
  set
  {
    if (value == yourSearchInput) {
      return;
    }
    yourSearchInput= value;
    // filer your collection here
    SettingsCollView.Refresh();
    this.NotifyPropertyChanged("YourSearchInput");
  }
}

希望有帮助

于 2012-09-06T17:39:41.770 回答