web-dev-qa-db-ja.com

WPF垂直グリッドスプリッターが機能しない

私は垂直グリッドスプリッターを持っていますが、代わりに水平グリッドスプリッターを取得します。これが私のXAMLです

<GroupBox Header="Phase Management">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="5"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="70*"/>
                <RowDefinition Height="30*"/>
            </Grid.RowDefinitions>

            <Button>Test column 0</Button>

            <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="#FFFFFF" ResizeBehavior="PreviousAndNext"/>

            <Button Grid.Column="2">Test column 2</Button>

        </Grid>
    </GroupBox>

enter image description here

グリッドには、スタックパネル、データグリッド、およびいくつかのテキストボックスがあります。なぜ私が間違った行動をしているのかについて何か考えはありますか?

10
andrea

次のようなプロパティを追加してみてください

<GridSplitter Grid.Column="1"
              ResizeDirection="Columns"
              ResizeBehavior="PreviousAndNext"
              HorizontalAlignment="Stretch"/>

方向(この場合は「列」)と動作(例では、左右の両方向のサイズ変更)。

22
Ben

XAMLが機能しません。修正してください。

とにかく、私はあなたのコードのいくつかを取り、いくつかの小さな変更を加えたので、それはコンパイルされ、垂直スプリッターを取得します:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="5"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="70*"/>
        <RowDefinition Height="30*"/>
    </Grid.RowDefinitions>

    <Button>Test column 0</Button>

    <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="#FFFFFF"/>

    <Button Grid.Column="2">Test column 2</Button>
</Grid>
1
Björn