如何将 TreeView 添加到 AvalonDock?
How to add TreeView to AvalonDock?
我正在使用完美的库 AvalonDock 并且想在停靠布局中显示 TreeView。所以我的 TreeView 应该是可停靠的。
我不知道应该如何将 TreeView 添加到 AvalonDock。例如,我有标准布局。
我试过这种旧方法,但是这段代码不起作用,因为我使用的是 AvalonDock 2.0,而且没有 ResizingPanel
、DockableContent
:
<avalonDock:ResizingPanel Orientation="Horizontal">
<avalonDock:DockablePane>
<avalonDock:DockableContent x:Name="fileFrame" Title="File List">
<TreeView Name="fileTree"/>
</avalonDock:DockableContent>
<avalonDock:DockableContent x:Name="viewFrame" Title="View List">
<TreeView Name="viewTree"/>
</avalonDock:DockableContent>
</avalonDock:DockablePane>
</avalonDock:ResizingPanel>
我的目标是在程序开始时将 TreeView 放在左侧,如 Visual Studio:
如何将 TreeView 添加到 AvalonDock 以在 MainWindow 启动时看到 TreeView?
编辑:
现在我可以在 Visual Studio 中看到 TreeView:
但是启动程序中没有TreeView(只是黄屏):
如何在程序开始时像 Visual Studio 一样在左侧显示带有虚拟数据的 TreeView?
您不能将控件直接添加到 LayoutAnchorablePane
- 您必须将其包装在 LayoutAnchorable
:
<avalonDock:DockingManager x:Name="dockManager" >
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Vertical">
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane Name="ToolsPane" DockHeight="150">
<avalonDock:LayoutAnchorable>
<TreeView Name="viewTree"/>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorablePane>
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>
编辑:
如果您希望在左侧显示树视图,请在此处查看带有一些虚拟数据的代码段:
<avalonDock:DockingManager x:Name="dockManager">
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Horizontal">
<avalonDock:LayoutAnchorablePane Name="ToolsPane" DockWidth="150">
<avalonDock:LayoutAnchorable>
<TreeView Name="viewTree">
<TreeViewItem Header="North America">
<TreeViewItem Header="USA" />
<TreeViewItem Header="Canada" />
<TreeViewItem Header="Mexico" />
</TreeViewItem>
<TreeViewItem Header="South America">
<TreeViewItem Header="Argentina" />
<TreeViewItem Header="Brazil" />
<TreeViewItem Header="Uruguay" />
</TreeViewItem>
</TreeView>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorablePane>
<avalonDock:LayoutDocumentPane />
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>
我正在使用完美的库 AvalonDock 并且想在停靠布局中显示 TreeView。所以我的 TreeView 应该是可停靠的。
我不知道应该如何将 TreeView 添加到 AvalonDock。例如,我有标准布局。
我试过这种旧方法,但是这段代码不起作用,因为我使用的是 AvalonDock 2.0,而且没有 ResizingPanel
、DockableContent
:
<avalonDock:ResizingPanel Orientation="Horizontal">
<avalonDock:DockablePane>
<avalonDock:DockableContent x:Name="fileFrame" Title="File List">
<TreeView Name="fileTree"/>
</avalonDock:DockableContent>
<avalonDock:DockableContent x:Name="viewFrame" Title="View List">
<TreeView Name="viewTree"/>
</avalonDock:DockableContent>
</avalonDock:DockablePane>
</avalonDock:ResizingPanel>
我的目标是在程序开始时将 TreeView 放在左侧,如 Visual Studio:
如何将 TreeView 添加到 AvalonDock 以在 MainWindow 启动时看到 TreeView?
编辑:
现在我可以在 Visual Studio 中看到 TreeView:
但是启动程序中没有TreeView(只是黄屏):
如何在程序开始时像 Visual Studio 一样在左侧显示带有虚拟数据的 TreeView?
您不能将控件直接添加到 LayoutAnchorablePane
- 您必须将其包装在 LayoutAnchorable
:
<avalonDock:DockingManager x:Name="dockManager" >
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Vertical">
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane Name="ToolsPane" DockHeight="150">
<avalonDock:LayoutAnchorable>
<TreeView Name="viewTree"/>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorablePane>
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>
编辑:
如果您希望在左侧显示树视图,请在此处查看带有一些虚拟数据的代码段:
<avalonDock:DockingManager x:Name="dockManager">
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Horizontal">
<avalonDock:LayoutAnchorablePane Name="ToolsPane" DockWidth="150">
<avalonDock:LayoutAnchorable>
<TreeView Name="viewTree">
<TreeViewItem Header="North America">
<TreeViewItem Header="USA" />
<TreeViewItem Header="Canada" />
<TreeViewItem Header="Mexico" />
</TreeViewItem>
<TreeViewItem Header="South America">
<TreeViewItem Header="Argentina" />
<TreeViewItem Header="Brazil" />
<TreeViewItem Header="Uruguay" />
</TreeViewItem>
</TreeView>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorablePane>
<avalonDock:LayoutDocumentPane />
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>