1

3列のグリッドがあると仮定しましょう:

1st column requires minimum height of 100 to display its content
2nd column requires minimum height of 200 to display its content
3rd column requires minimum height of 300 to display its content

必要な高さの合計は 600 です。使用可能なスペースが 900 ピクセルの場合、余分な 300 ピクセルは列間で均等に分割する必要があるため、最終結果は次のようになります。

1st column height = 200
2nd column height = 300
3rd column height = 400

高さの設定に * を使用すると、最終結果は各列 300 ピクセルになり、これは私が望むものではありません。基本的に、auto と * の組み合わせが必要です。これはxamlで実行できますか?

4

2 に答える 2

1

これを試して :

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow"
        Height="800"
        Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"
                           MinHeight="100" />
            <RowDefinition Height="*"
                           MinHeight="200" />
            <RowDefinition Height="*"
                           MinHeight="300" />
        </Grid.RowDefinitions>
        <TextBlock  Background="LightBlue"
                    Text="{Binding ActualHeight, Mode=OneWay, RelativeSource={RelativeSource Self}}" />
        <TextBlock Grid.Row="1"
                   Background="LightCyan"
                   Text="{Binding ActualHeight, Mode=OneWay, RelativeSource={RelativeSource Self}}" />
        <TextBlock Grid.Row="2"
                   Background="LightCoral"
                   Text="{Binding ActualHeight, Mode=OneWay, RelativeSource={RelativeSource Self}}" />
    </Grid>
</Window>

高さが少なくとも 100、200、300 であることがわかりますが、十分な場所ができるとすぐに、余分な場所が行に均等に分配されます。

于 2012-09-12T12:52:12.987 に答える
0

1列目の高さ=2*

2列目の高さ=3*

3 列目の高さ = 4*

于 2012-09-12T12:45:25.207 に答える