我有一個正在進行延遲加載的TreeView。我使用MVVM。我想在應用程序啓動時默認選擇樹的頂部節點。默認在樹狀視圖中選擇topnode wpf MVVM
1
A
回答
1
做到這一點,最簡單的方法是使用樣式與IsSelected
屬性:在您綁定到你的頂級節點對象
<Style x:Key="SelectableTreeViewItem" TargetType="TreeViewItem">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>
然後在你的模型公開此屬性,或者更具體。
public class MyTopLevelFoo
{
public bool IsSelected { get; set; }
}
...它設置爲true時首先加載:
IsSelected = true;
2
我認爲這是一個更好的辦法......只是ceate從System.Windows.Controls繼承的類。 TreeView並重寫OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)。並在這種方法把這個代碼:
if (base.SelectedItem == null)
{
if(base.Items.Count != 0)
{
(base.ItemContainerGenerator.ContainerFromItem(base.Items[0]) as TreeViewItem).IsSelected = true;
}
}
base.OnItemsChanged(e);
就是這樣。
0
只需使用Loaded事件
private void tvComponents_Loaded(object sender, RoutedEventArgs e)
{
(tvComponents.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem).IsSelected = true;
}
相關問題
- 1. 改善WPF樹視圖的默認選擇的項目風格
- 2. WPF樹視圖中選擇的項目
- 3. 如何在樹狀視圖中取消選擇所選項目
- 4. Rails的collection_select默認視圖中選擇
- 5. 在WPF中的列表視圖中選擇項(MVVM)
- 6. WPF MVVM - 什麼是內樹型視圖
- 7. 列表視圖在wpf中選擇的項綁定mvvm
- 8. WPF在樹狀視圖中操縱選定的項目
- 9. WPF中的多列樹狀視圖
- 10. wpf combobox默認從itemssource中選擇
- 11. 如何選擇表視圖默認
- 12. 在WPF中選擇圖形和形狀
- 13. WPF MVVM中的UserControl視圖
- 14. 從WPF樹狀視圖中獲取選定文本
- 15. 更改WPF中樹狀視圖的選定項目
- 16. WPF樹視圖添加到樹時選擇項目
- 17. 在視圖中爲默認選項卡
- 18. MVVM以編程方式選擇樹視圖項目
- 19. WPF樹視圖
- 20. 默認在SplitApp的主視圖中選擇的列表項
- 21. ASP.NET樹視圖控件默認行爲
- 22. WPF/MVVM保存視圖模型所選擇的項目/模型
- 23. 樹視圖MVVM ObservableCollection更新
- 24. WPF MVVM - 在樹視圖項之後不被更新被openened
- 25. 在MVVM中切換視圖wpf
- 26. 在MVVM Light中爲WPF佈線視圖
- 27. 德爾福:檢查樹狀視圖中的選擇
- 28. 根據樹狀視圖中的選擇查找xml節點
- 29. 綁定按鈕禁用財產樹狀視圖選擇在fxml
- 30. 如何在默認視圖中打開默認視圖android