WPF: ScrollViewer в сетке - PullRequest
       32

WPF: ScrollViewer в сетке

13 голосов
/ 09 марта 2011

У меня есть сетка:

<Grid.RowDefinitions>
        <RowDefinition Height="100"/>
        <RowDefinition Height="*"/>
</Grid.RowDefinitions>

Второй ряд с прокруткой:

    <ScrollViewer VerticalScrollBarVisibility="Auto" MinHeight="400" Grid.Row="1">
            <ItemsControl ItemsSource="{Binding SelectedUserControls}"/>
    </ScrollViewer>

Я хочу, чтобы второй ряд был с прокруткой, если это необходимо, Но свиток никогда не виден, если элементы управления больше экрана.

Как мне заставить свиток появляться при необходимости?

Ответы [ 2 ]

4 голосов
/ 09 марта 2011

РЕДАКТИРОВАТЬ:

Попробуйте удалить '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>

Имеет ли ваш контейнер, содержащий вашу сетку, явныйВысота

2 голосов
/ 21 мая 2013

Измените MinHeight на MaxHeight.

...