Почему два столбца в сетке WPF с * не имеют одинакового размера?

с помощью следующего кода, который, как я ожидал, закончится двумя ListBox с той же шириной, что и в двух столбцах с определением с With = "*"

Вместо этого похоже, что размер определяется размером текста вверху ListBox, что не имеет смысла, поскольку этот текст намного меньше, чем ListBox, и, таким образом, TextBlock имеет достаточно места для размещения текст.

<Window x:Class="UnderstandSizing.Window5"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window5" 
SizeToContent="WidthAndHeight"
ResizeMode="NoResize" >

<Grid>  
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <TextBlock Text="Text1longer" Grid.Row="0" Grid.Column="0" x:Name="Test1" />
    <TextBlock Text="Text1" Grid.Row="0" Grid.Column="2" />
    <ListBox Grid.Row="1" Grid.Column="0" Height="150" />

    <ListBox Grid.Row="1" Grid.Column="2" Height="150" />
    <TextBlock Grid.Row="2" Grid.ColumnSpan="3"  Text="This textblock sets the max width" Width="300" />
</Grid>
</Window>

enter image description here

Функция автоматического определения размеров WPF сводит меня с ума ... есть идеи? Спасибо.

РЕДАКТИРОВАТЬ: Все, что было сделано в VS2008, на всякий случай.

13
задан Ignacio Soler Garcia 1 February 2012 в 18:39
поделиться