【问题标题】:Double Grid Splitter双网格分配器
【发布时间】:2016-05-28 08:14:39
【问题描述】:

我尝试在我的 WPF 窗口中实现一个 GridSplitter - 就像这里显示的 http://www.wpf-tutorial.com/panels/gridsplitter/

工作得很好。但我想做一个双网格分离器。所以窗口应该被分成左右两部分。并且右边的部分应该分为顶部和按钮部分。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="5" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid></Grid>
    <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="5" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">One</TextBlock>
        <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
        <TextBlock Grid.Row="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Two</TextBlock>
    </Grid>
</Grid>

但它总是把左边的部分分成两部分。我尝试了为所有明确设置 Grid.Row 和 Grid.column 的所有内容 - 但没有。我错过了什么?

【问题讨论】:

    标签: wpf vb.net datagrid gridsplitter


    【解决方案1】:

    实现你想要的:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Left</TextBlock>
        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
        <Grid Grid.Column="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="5" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Top</TextBlock>
            <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
            <TextBlock Grid.Row="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Bottom</TextBlock>
        </Grid>
    </Grid>
    

    您没有在第二个Grid 上设置Grid.Column="2",您打算在右边。

    我还将WidthHeight 属性更改为*,因此水平和垂直GridSplitters 将位于中心。

    【讨论】:

    • 谢谢你的作品。但我必须调查一下,所以我明白为什么;-)
    猜你喜欢
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    相关资源
    最近更新 更多