2012-09-05 63 views
1

Chrome有一個很棒的功能:你可以搜索設置頁面,Chrome瀏覽器只顯示相關設置,或者,如果你需要打開一個窗口,一點提示。我非常喜歡這個功能,並希望在我的開源工具中實現它。設置搜索就像谷歌瀏覽器WPF

在技術上如何實現這一點?

回答

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"); 
    } 
} 

希望幫助