为什么我的GridSplitter没有达到全高度

时间:2016-04-24 10:58:23

标签: xaml

我有一个GridSplitter,但我不能让它延伸到我应用的全部高度(我的UserControl更精确)。它只填充与GridSplitter左侧/右侧内容相同的高度。

<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
        <RowDefinition Height="*" /> <!--this was a trial and error thing-->
</Grid.RowDefinitions>
    <Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*" MinWidth="150" />
            <ColumnDefinition Width="2" />
            <ColumnDefinition Width="8*" MinWidth="250" />
        </Grid.ColumnDefinitions>

        <TextBlock Text="left" Grid.Column="0"/>
        <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
        <TextBlock Text="right" Grid.Column="2"/>
    </Grid>
</Grid>
</Grid>

由于我不知道身高,所以我希望能够          

这适用于高度更大,但这不是一种可接受的方法,因为我不知道客户端监视器的大小。          

但这无效。

我需要做什么?

这是父母

<StackPanel Grid.Row="1" Background="Orange">
    <ContentPresenter Content="{Binding Vm}" />
</StackPanel>

正如您所看到的背景是橙色,这给了我控件的界限。控制占据了它所有的空间。

1 个答案:

答案 0 :(得分:1)

StackPanel父级更改为Grid控件。 StackPanel控件将调整其子元素的大小。改为使用Grid控件,它将调整其父控件的大小。

<Grid Grid.Row="1" Background="Orange">
    <ContentPresenter Content="{Binding Vm}" />
</Grid>