У меня есть некоторые XAML, как это:Использование управления Height & Grid.RowSpan вместе
<Grid HorizontalAlignment="Center" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ListBox Grid.RowSpan="3" ItemsSource="{Binding OverrideEntityList}" Margin="5" Height="200" Width="250" ScrollViewer.VerticalScrollBarVisibility="Auto"/>
<ComboBox Grid.Column="1" ItemsSource="{Binding GeometryType}" SelectedIndex="0" Margin="5" SelectionChanged="ComboBox_SelectionChanged"/>
<Grid x:Name="AddLineGrid" Grid.Row="1" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Content="Length:" Margin="5"/>
<TextBox Grid.Column="1" Text="{Binding OverrideLength}" Width="50" Margin="5"/>
<Label Grid.Row="1" Content="Angle:" Margin="5"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding OverrideAngle}" Width="50" Margin="5"/>
</Grid>
<Grid x:Name="AddArcGrid" Grid.Row="1" Grid.Column="1" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Content="Diameter:" Margin="5"/>
<TextBox Grid.Column="1" Text="{Binding OverrideLength}" Width="50" Margin="5"/>
<Label Grid.Row="1" Content="Angle:" Margin="5"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding OverrideAngle}" Width="50" Margin="5"/>
</Grid>
<Button Grid.Row="2" Grid.Column="1" Content="Add" Command="{Binding AddOverrideEntityCommand}" Margin="5"/>
</Grid>
Я пытаюсь получить ListBox, чтобы заполнить весь столбец, но только определенная высота (потому что я не хотите, чтобы он расширялся при добавлении элементов - просто появлялась полоса прокрутки).
Часть XAML-дизайнер в Visual Studio показывает мне, что я бы ожидать:
Но Результирующий вид, когда я строю свою программу, кажется, не уважает Grid.RowSpan в ListBox:
Есть ли конфликт между установкой высоты в ListBox вместе с Grid.RowSpan? Или есть что-то еще, что мне не хватает?
Я просто переместил Height = 'свойство к сетке' «200», а не ListBox и что, казалось, решить эту проблему (до сих пор не знаю, почему XAML Designer показывал мне одну вещь, но фактическое представление показывало мне другое). – derekantrican
Perhsps. Высота дизайна окна отличается от фактической высоты во время выполнения. Но вы никогда не должны доверять дизайнеру. Это имеет значение поведение, которое вы испытываете во время выполнения. Дизайнер может быть полностью отключен :) – mm8