РЕДАКТИРОВАТЬ:
Попробуйте удалить 'MinHeight = 400', и я уверен, что это работает !!
У вас есть MinHeight на вашем ItemsControl 400. Так что, пока у вас не будет достаточно предметов, чтобы взятьвсе 400, вы не увидите свою полосу прокрутки.Я предполагаю, что контейнер содержит вашу сетку (или ее явная высота меньше 400), и у вас достаточно элементов, чтобы быть слишком большими для этого контейнера, но недостаточно элементов для заполнения MinHeight вашего ItemsControl.
Оригинальный ответ: Я только что запустил тестовое приложение с 30 элементами в нем (достаточно, чтобы заполнить MinHeight), и, кажется, оно работает нормально:
<Window x:Class="TestApp11.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:l="clr-namespace:TestApp11"
Title="Window1" Loaded="Window_Loaded" Height="600" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" MinHeight="400" Grid.Row="1">
<ItemsControl>
...
<ListBoxItem Content="Item 30" />
...
</ItemsControl>
</ScrollViewer>
</Grid>
</Window>
Имеет ли ваш контейнер, содержащий вашу сетку, явныйВысота