Xamarin Forms - Сгруппированное пространство CollectionView между заголовками - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть страница, которая отображает сгруппированный вид коллекции. У некоторых групп есть предметы, а у некоторых нет. Проблема заключается в следующем:

enter image description here

Почему я не могу получить пробел между этими заголовками? Но это работает с заголовком без дочерних элементов, как получилось ?? Как я могу это исправить, искал веками!

Все эти заголовки являются табличками данных. У каждого из них есть сетка. Кроме того, каждый элемент является табличкой данных, он также содержит сетку.

Код Xaml:

    <ContentPage.Resources>
    <!--Regular Activity Header-->
    <DataTemplate x:Key="RegularActivityDataTemplateHeader">
        <Grid ColumnSpacing="0"  RowSpacing="0">
        </Grid>
    </DataTemplate>

    <!--Standby Activity Header-->
    <DataTemplate x:Key="StandbyShiftDataTemplateHeader">
        <Grid ColumnSpacing="0"  RowSpacing="0">
        </Grid>
    </DataTemplate>

    <!--Toweing header-->
    <DataTemplate x:Key="TowingDataTemplateHeader">
    </DataTemplate>

    <DataTemplate x:Key="Footer">
        <BoxView IsVisible="{Binding Path=., Converter={StaticResource ActivityToBoolValueConverter}}" Color="AliceBlue" HeightRequest="15"/>
    </DataTemplate>

    <!--Regular Activity Cell-->
    <DataTemplate x:Key="RegularActivityDataTemplateCellA">
    </DataTemplate>

    <!--Data Templace Header Selector-->
    <views:ActivityDataTemplateSelectorHeader x:Key="ActivityTemplateSelectorHeader"
                                         TowingDataTemplateHeader="{StaticResource TowingDataTemplateHeader}"
                                         RegularActivityDateTemplateHeader="{StaticResource RegularActivityDataTemplateHeader}"
                                         StandbyShiftDataTemplateHeader="{StaticResource StandbyShiftDataTemplateHeader}" />

    <!--Data Templace Cell Selector-->
    <views:ActivityTemplateSelectorCell x:Key="ActivityTemplateSelectorCell"
                                         GroepElementA="{StaticResource RegularActivityDataTemplateCellA}"/>
</ContentPage.Resources>

<ContentPage.Content>

    <StackLayout>
        <RefreshView Margin="10" IsRefreshing="{Binding IsRefreshing, Mode=OneWay}" Command="{Binding RefreshCommand}">
            <CollectionView x:Name="_collectionView"
                        ItemsSource="{Binding PlanningListItems}" 
                        IsGrouped="true"
                        SelectedItem="{Binding SelectedElement}"
                        SelectionMode="Single"
                        GroupHeaderTemplate="{StaticResource ActivityTemplateSelectorHeader}"
                        GroupFooterTemplate="{StaticResource Footer}"
                        ItemTemplate="{StaticResource ActivityTemplateSelectorCell}"
                        SelectionChangedCommandParameter="{Binding Path=.}"
                        SelectionChangedCommand="{Binding OpenChosenActivity}">
            </CollectionView>
        </RefreshView>
    </StackLayout>

</ContentPage.Content>
...