Почему прокрутка ListView не работает внутри Grid? - PullRequest
0 голосов
/ 15 мая 2018

Почему прокрутка ListView не работает, если она вложена в сетку?

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <ListView Grid.Row="0" ItemsSource="{Binding Person}" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" >
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Id}" Header="Id" Width="100"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="Name" Width="Auto" />
            </GridView>
        </ListView.View>
    </ListView>
 <Grid>

1 Ответ

0 голосов
/ 15 мая 2018

Решение состоит в том, чтобы изменить высоту строки сетки с «Авто» на конкретное значение, например 150. Прокрутка должна работать, если ваш список содержит достаточно элементов для активации прокрутки.

Решение:

Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="150"/>
    </Grid.RowDefinitions>
    <ListView Grid.Row="0" ItemsSource="{Binding Person}" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" >
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Id}" Header="Id" Width="100"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="Name" Width="Auto" />
            </GridView>
        </ListView.View>
    </ListView>
 <Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...