Странное дополнительное пространство в ListView на iOS - PullRequest
0 голосов
/ 15 марта 2019

Я хочу создать представление для папок, реализованных с помощью ListView. Особенность заключается в том, что ListView не должен расширяться до полноэкранного, но должен расти в зависимости от содержимого. Оставшееся пространство должно иметь цвет фона.

Для архивирования этого поведения я использую сетку с двумя строками. Проблема в том, что просмотр списка больше, чем должен быть. Я понятия не имею, откуда это дополнительное пространство? После строки «Папка 6» не должно быть лишних пробелов.

<Grid BackgroundColor="{StaticResource backgroundColor}">
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <ListView
        x:Name="folderList"
        VerticalOptions="StartAndExpand"
        ItemsSource="{Binding DocumentsGrouped}"
        IsGroupingEnabled="True"
        HasUnevenRows="True"
        Footer=""
        GroupDisplayBinding="{Binding Key}"
        >
        <ListView.GroupHeaderTemplate>
            <DataTemplate>
                <ViewCell Height="30">
                    <Frame 
                        BorderColor="#D1D1D5"
                        CornerRadius="0" HasShadow="False"
                        BackgroundColor="#EFEFF4"></Frame>
                </ViewCell>
            </DataTemplate>
        </ListView.GroupHeaderTemplate>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell Height="40" StyleId="disclousure">
                    ...
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</Grid>

Мне нужно, чтобы высота списка была основана на количестве элементов, а не на половине экрана.

<img src= ">

1 Ответ

0 голосов
/ 18 марта 2019

странный дополнительный пробел?

Это ожидаемые результаты. Потому что вы помещаете представление списка в Сетка , которая имеет две строки.

<Grid.RowDefinitions>
    <RowDefinition></RowDefinition>
    <RowDefinition></RowDefinition>
</Grid.RowDefinitions>

И кажется, что вы забыли установить высоту строки. Так что высота по умолчанию для каждой строки равна половине высоты экрана.

Когда в вашем списке просмотра есть 6 элементов.Высота списка просмотра меньше, чем строки. Итак, есть странное дополнительное пространство. Если вы добавите больше элементов в список просмотра. Пространство будет «отклонено». И я предлагаю вам установить высоту строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...