Как запретить ListView расширять размер окна?

Я помещаю ListView в среднюю строку представления. Представление содержится в окне, для которого SizeToContent задано значение WidthAndHeight. ListView изначально пуст, но базовая ViewModel заполняет это представление списка в процессе.

Средняя высота Grid.Row установлена ​​на *, чтобы заполнить доступный размер окна. Когда ListView получает новые элементы, он в какой-то момент расширяет размер окна вместо того, чтобы отображать ScrollViewer в ListView. Как я могу предотвратить такое поведение, чтобы для SizeToContent было установлено значение WidthAndHeight, а для высоты Grid.Row - *, но чтобы ListView не увеличивал размеры окна?

Вот код для окна (свойство Workspace будет содержать ViewModel):

<Window x:Class="Views.ContainerWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="{Binding Title}"
        SizeToContent="WidthAndHeight">
   <ContentControl Content="{Binding Workspace}"/>
</Window>

Представление для предоставленной ViewModel выглядит следующим образом:

<UserControl x:Class="Views.SomeView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             MinHeight="450">
   <Grid>
      <Grid.RowDefinitions>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="*"/>
         <RowDefinition Height="Auto"/>
      </Grid.RowDefinitions>
      <TextBlock Grid.Row="0" 
                 TextWrapping="Wrap" 
                 Margin="5"
                 Text="Some description text"/>
      <ListView Grid.Row="1"
                ItemsSource="{Binding ItemsList}" 
                Margin="5">
         <ListView.View>
            <GridView>
               ...
            </GridView>
         </ListView.View>
      </ListView>
      <Button Grid.Row="2"
              HorizontalAlignment="Right"
              Command" Value="{Binding CloseCommand}"/>
   </Grid>
</UserControl>
5
задан Holger Adam 12 September 2010 в 12:48
поделиться