4

AvalonDock 2.0 を使用しています

かなり基本的なものだと思いますが、ドキュメントには何も書かれていないので、2時間遊んで理解しようとしました。ですから、これが単純すぎる場合は申し訳ありません。

タイトル通りのものが欲しい。ドキュメントには、下側のパネルの作成方法が記載されていますが、自動非表示のパネルのみであり、これは私が望んでいるものではありません。

コードビハインドで自動非表示を切り替えようとしましたが、高さは影響を受けなかったので、アプリケーションを起動するたびに、ユーザーはそれを上にドラッグしてパネルのコンテンツを表示する必要があります。

4

2 に答える 2

4

少しハッキーですが、これは私にとってはうまくいきました:

    <xcad:DockingManager x:Name="DockingManager" Grid.Row="1" DocumentsSource="{Binding Documents}" Loaded="DockingManager_OnLoaded">
        <xcad:LayoutRoot>
            <xcad:LayoutPanel Orientation="Horizontal">
                <xcad:LayoutDocumentPane></xcad:LayoutDocumentPane>
                <xcad:LayoutAnchorablePane DockWidth="Auto" SelectedContentIndex="0">
                    <xcad:LayoutAnchorable Title="Right">
                        <Label>Right</Label>
                    </xcad:LayoutAnchorable>
                </xcad:LayoutAnchorablePane>
            </xcad:LayoutPanel>
            <xcad:LayoutRoot.BottomSide>
                <xcad:LayoutAnchorSide>
                    <xcad:LayoutAnchorGroup>
                        <xcad:LayoutAnchorable x:Name="OutputAnchorable" Title="Output">
                            <Label>Bottom</Label>
                        </xcad:LayoutAnchorable>
                    </xcad:LayoutAnchorGroup>
                </xcad:LayoutAnchorSide>
            </xcad:LayoutRoot.BottomSide>
        </xcad:LayoutRoot>
    </xcad:DockingManager>

次に、コードビハインドで:

    private void DockingManager_OnLoaded(object sender, RoutedEventArgs e)
    {
        OutputAnchorable.ToggleAutoHide();

        // You might want to do this to get a reasonable height
        var root = (LayoutAnchorablePane)OutputAnchorable.Parent;
        root.DockHeight = new GridLength(100);
    }
于 2014-07-12T17:05:11.023 に答える
3

このようなものが必要です

<xcad:LayoutPanel Orientation="Vertical">
                <xcad:LayoutPanel Orientation="Horizontal"  >   


</xcad:LayoutPanel>
</xcad:LayoutPanel>

2 番目のレイアウトはすべてのミックス パネルを作成し、最初のレイアウトは上部または下部を垂直方向に作成します。

于 2013-11-16T04:02:53.433 に答える