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 が上下に移動していません。静的なままです。3 番目にネストされた LayoutGroup である DockLayoutManager を使用すると、そこからコンポーネントを削除すると、コンポーネントを元に戻すことができません。ヒントをいただければ幸いです。

4

1 に答える 1

1

LayoutSplitterコントロールは、レイアウト グループまたはレイアウト コントロール項目を分割するために必要です。LayoutPanels または DocumentPanels では使用できません。さらに、これらの項目のサイズ変更は DockLayoutManager によって自動的に提供されるため、ドック項目でスプリッターを使用する必要はありません。また、ドキュメントを LayoutGroup.Items コレクションに直接配置するのではなく、DocumentGroup の子アイテムとして DocumentPanel を使用する必要があります。または、DocumentPanel の代わりに LayoutPanel を使用します。したがって、マークアップは次のようになります。

<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 に答える