ScrollViewer в сетке - PullRequest
       14

ScrollViewer в сетке

2 голосов
/ 23 августа 2011

У меня есть следующий кусок xaml:

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

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

    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Visible" Grid.Column="0" Grid.Row="1">
        <ContentControl prism:RegionManager.RegionName="{x:Static local:RegionNames.MainMenuRegion}" />
    </ScrollViewer>
</Grid>

Если я установил VerticalScrollBarVisibility в Visible, все будет работать нормально.Если я установлю его на Авто, полоса прокрутки никогда не будет отображаться (даже когда это будет необходимо).

Есть предложения?

1 Ответ

3 голосов
/ 23 августа 2011

Ваша содержащая панель не имеет ограничений - в частности, вы установили Grid.Row=1 на высоту *, что означает «использовать все доступное пространство». Таким образом, ваша панель просто растет вместо отображения ScrollViewer.

Попробуйте установить его на ограниченную высоту, и ScrollViewer должен появиться, когда элементов MenuItem в вашем главном меню слишком много.

...