0

我在使用 DevExpress 的 LayoutSplitter 和 DockLayoutManger 时遇到了一些问题。

 dxdo:DockLayoutManager>
            <dxdo:DockLayoutManager.LayoutRoot>
                <dxdo:LayoutGroup Orientation="Vertical" Height="*">
                    <dxdo:LayoutGroup Orientation="Vertical" Height="*">
                        <dxdo:DocumentPanel>
                            <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*"></RowDefinition>
                                </Grid.RowDefinitions>
                                <ContentControl Grid.Row="0"  Content="{Binding SomeViewModel}" ContentTemplateSelector="{StaticResource templateSelector}"/>
                            </Grid>
                        </dxdo:DocumentPanel>
                    </dxdo:LayoutGroup>

                    <dxdo:LayoutGroup Height="Auto" Orientation="Vertical">
                            <dxdo:LayoutSplitter/>
                    </dxdo:LayoutGroup>

                    <dxdo:LayoutGroup>
                        <dxdo:LayoutPanel Height="Auto" AllowDock="True">
                            <ItemsControl ItemsSource="{Binding SomeViewModel.SomeCollection}" ItemTemplateSelector="{StaticResource templateSelector}">
                            </ItemsControl>
                        </dxdo:LayoutPanel>
                    </dxdo:LayoutGroup>   

                </dxdo:LayoutGroup>

            </dxdo:DockLayoutManager.LayoutRoot>

       </dxdo:DockLayoutManager>

LayoutSplitter 没有上下移动。它只是保持静止。使用 DockLayoutManager,第 3 个嵌套 LayoutGroup,当我从中删除一个组件时,我无法将组件放回原处。提示将非常感谢!

4

1 回答 1

1

需要 LayoutSplitter控件来拆分布局组或布局控件项。它不能与 LayoutPanels 或 DocumentPanels 一起使用。此外,不需要对停靠项目使用拆分器,因为这些项目的大小调整是由 DockLayoutManager 自动提供的。您还应该使用 DocumentPanel 作为 DocumentGroup 的子项,而不是将该文档直接放置到 LayoutGroup.Items 集合中。或者使用 LayoutPanel 而不是 DocumentPanel。因此,您的标记应如下所示:

<dxdo:DockLayoutManager>
    <dxdo:LayoutGroup Orientation="Vertical" >
        <dxdo:DocumentGroup>
            <dxdo:DocumentPanel Caption="Document">
                <!-- Document content -->
            </dxdo:DocumentPanel>
        </dxdo:DocumentGroup>
        <dxdo:LayoutGroup>
            <dxdo:LayoutPanel Caption="Panel">
                <!-- Panel content -->
            </dxdo:LayoutPanel>
        </dxdo:LayoutGroup>
    </dxdo:LayoutGroup>
</dxdo:DockLayoutManager>

您可以在这些文章中阅读更多内容:

  1. 码头布局管理器基础知识
  2. 布局组
  3. 停靠项目
  4. 布局项目
  5. 文档组和面板
于 2012-08-14T07:28:06.327 回答