当窗口调整大小时,列上的固定宽度是多少?

时间:2014-01-04 19:30:08

标签: wpf xaml

我有两个主要的列,由一个网格分离器分开:

<Window x:Class="EnvironmentNet.ShellView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:caliburn="http://www.caliburnproject.org"
        Width="800"
        Height="400"
        Background="Black"
        ResizeMode="CanResizeWithGrip"
        >

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0.2*" MinWidth="300" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="0.8*" MinWidth="400" />
        </Grid.ColumnDefinitions>

        <Grid Background="Red" x:Name="Nav" Grid.Column="0" />
        <GridSplitter HorizontalAlignment="Center" VerticalAlignment="Stretch" Width="5" Grid.Column="1" />
        <Grid Background="Green" x:Name="Content" Grid.Column="2"  />
    </Grid>

</Window>

这很好用,但是当我调整窗口大小时,左列也开始调整大小。当窗口调整大小时,如何将左列保持固定宽度并使右列伸出?用户仍然可以使用gridsplitter手动调整左右列的大小。

由于

1 个答案:

答案 0 :(得分:0)

为第一个ColumnDefinition设置 Width =“Auto”。我试过这个。但是它会导致一个问题它会使GridSplitter被拖到右上角如果根据你的要求这是不可接受的,那么它就无济于事。