DevExpress LayoutSplitter和DockLayoutManager拖放问题

时间:2012-08-13 08:18:37

标签: wpf devexpress

我在使用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,第三个嵌套的LayoutGroup,当我从中删除一个组件时,我无法将组件放回去。一个提示非常值得感谢!

1 个答案:

答案 0 :(得分:1)

分割布局组或布局控件项需要LayoutSplitter控件。它不能与LayoutPanels或DocumentPanels一起使用。此外,不需要使用dock items的分割器,因为这些项目的大小调整是由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. Dock Layout Manager Fundamentals
  2. Layout Groups
  3. Dock Items
  4. Layout Items
  5. Document Groups and Panels