什麼將是改變WPF樹視圖方向的韌皮方法。我希望將展開 - 摺疊功能工作爲從左到右而不是從上到下。即當我點擊treenode的擴展按鈕時,我的子節點會出現在父節點的右側,而縮進應該是自頂向下的。此外,連接節點的垂直線現在必須是水平的。水平方向的WPF TreeView?
2
A
回答
6
這是一篇很好的文章,由Josh Smith on CodeProject detaling究竟如何做這種事情。
2
要在你想要的水平擴大John Smith's CodeProject article,如果你想只在樹(而不是在所有層面上喜歡他的文章顯示)特定水平有水平佈局,那麼就設置在TreeViewItem
的ItemsPanel
財產有一個StackPanel
。
起初對我來說並不直觀,但您可以通過HierarchicalDataTemplate
的ItemContainerStyle
屬性獲取此屬性,以獲取想要水平的圖層上方的圖層。
像這樣:
<ItemsPanelTemplate
x:Key="ItemsPanelForHorizontalItems">
<StackPanel
Orientation="Horizontal"/>
</ItemsPanelTemplate>
<HierarchicalDataTemplate
x:Key="DataTemplateForLayerAboveHorizontalItems"
DataType="{x:Type viewModel:ThingHavingHorizontalItems}"
ItemsSource="{Binding HorizontalItems}"
ItemTemplate="{StaticResource DataTemplateForLayerWithHorizontalItems}">
<HierarchicalDataTemplate.ItemContainerStyle>
<Style
TargetType="TreeViewItem">
<Setter
Property="ItemsPanel"
Value="{StaticResource ItemsPanelForHorizontalItems}"/>
</Style>
</HierarchicalDataTemplate.ItemContainerStyle>
<ContentControl
Content="{Binding}"
ContentTemplate="{StaticResource DataTemplateForThingHavingHorizontalItems}"/>
</HierarchicalDataTemplate>
根據這一模式將讓你爲你的樹內的任何單獨層設置水平佈局,除了根層。如果您希望根層爲水平,那麼只需將TreeView
上的ItemsPanel
屬性設置爲使用水平StackPanel
即可。
相關問題
- 1. WPF製作的StackPanel在水平方向
- 2. 水平對齊向右+ wpf
- 3. WPF Treeview與水平包裹的葉子項目
- 4. WPF水平DataGrid
- 5. WPF ItemsControl水平方向和填充父項?
- 6. WPF databound Datagrid根據數據類型更改水平列方向
- 7. WPF:水平對齊
- 8. WinForms TreeView方向
- 9. 水平方向的奇怪佈局
- 10. 水平方向UILabel旁邊的UIActivityIndicator
- 11. Silverlight中DataGrid的水平方向4
- 12. 從水平方向的Polyfit程度
- 13. 具有水平方向的ItemsControl
- 14. IME調整水平方向的選項
- 15. wpf中的水平MenuItem
- 16. 水平自動調整WinForms TreeView控件的最佳方法?
- 17. Android的 - 垂直方向的作品,水平方向空白
- 18. C#WinForms TreeView刪除水平滾動條
- 19. Silverlight TreeView禁用水平伸展
- 20. 在一個WPF TreeView的葉節點自己的模板與未知水平
- 21. AvalonDoc 2垂直和水平方向
- 22. Strech QGraphics查看水平方向
- 23. 修復iPhone水平方向zoom
- 24. ScrollPanel垂直和水平方向
- 25. 浮動動作菜單水平方向
- 26. Android水平RecyclerView滾動方向
- 27. Eclipse RCP快速查看水平方向
- 28. 水平滾動與方向RTL
- 29. 全景 - 水平滾動方向
- 30. 如何觸發水平方向鍵盤?
我應該補充說,擴展一個不同方向的圖層,而其餘的圖層不會破壞UI虛擬化。如果你知道如何解決這個問題,請參閱[這個問題](http://stackoverflow.com/q/42911247/3063273) – 2017-03-20 18:37:54