双网格拆分器

时间:2016-02-16 21:03:28

标签: wpf vb.net datagrid gridsplitter

我尝试将GridSplitter实现到我的WPF窗口 - 如此处所示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>

Buuut alawys将左侧部分分成两部分。我尝试了将Grid.Row和Grid.column设置为显式的所有内容 - 但没有任何内容。我错过了什么?

1 个答案:

答案 0 :(得分:0)

实现您的目标:

<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.Column="2"设置Grid

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