我正在開發一個應用程序(A database file system)。我在其GUI中使用WPF樹視圖。樹視圖項目直接從我的應用程序數據庫中提取。如何突出顯示WPF treeview中的搜索結果?
我想在輸入時搜索並突出顯示樹視圖項目。 要更好地理解問題,請考慮瀏覽器中顯示的關鍵字搜索結果。
alt text http://img100.imageshack.us/img100/4168/chromel.jpg
如何實現,在我的背景?
我正在開發一個應用程序(A database file system)。我在其GUI中使用WPF樹視圖。樹視圖項目直接從我的應用程序數據庫中提取。如何突出顯示WPF treeview中的搜索結果?
我想在輸入時搜索並突出顯示樹視圖項目。 要更好地理解問題,請考慮瀏覽器中顯示的關鍵字搜索結果。
alt text http://img100.imageshack.us/img100/4168/chromel.jpg
如何實現,在我的背景?
使用視圖模型,所有的包裹出現在您的樹狀視圖的項目。給他們一個IsHighlighted財產。在視圖模型項上執行搜索,如果它們符合條件,則將IsHighlighted屬性設置爲true。使用綁定到IsHighlighted屬性的treeviewitem樣式的觸發器更新背景的顏色。
樹形視圖一次只能有一個選定的項目(它不支持像列表視圖一樣的多選)所以如果你想有多個搜索結果,那麼設置樹形視圖的SelectedItem就足夠了。使用具有諸如IsExpanded等屬性的視圖模型也可以讓你做一些時髦的東西。例如如果某個節點是「找到」的,則可以展開其上的所有其他節點以使其可見。