當TreeView在XAML中以嵌套數據模板(HierarchicalDataTemplate)方式綁定數據時,其子元素都是特定類型的對象,而非TreeViewItem,這樣就沒法通過設置TreeViewItem子元素的IsSelected屬性實現選定效果。
這時可以通過Silverlight Toolkit項目提供的擴展功能實現選取,項目網址:http://silverlight.codeplex.com/
下載並安裝后引入System.Windows.Controls.Toolkit.dll:
此時TreeView控件就可以獲得如下擴展方法支持:
只需利用其中的SelectItem()方法,傳入目標對象即可實現對其選定。
需注意的是,有時候此方法並不起作用,這可能是因為數據變更后UI布局尚未更新導致的,你可以在SelectItem()方法執行之前執行UpdateLayout()方法強制更新一下即可。




