visual studio – .NET Maui CollectionView Not Showing All Data in Windows


I have a problem with CollectionView in Windows. The XAML is

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="LibraryAppM.Views.EnquiryPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:library="clr-namespace:LibraryM;assembly=LibraryM"
    xmlns:local="clr-namespace:LibraryAppM.ViewModels.Enquiry"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
    x:Name="enquiry"
    Title="Richard's Library System"
    x:DataType="local:EnquiryViewModel">
    <ContentPage.BindingContext>
        <local:EnquiryViewModel />
    </ContentPage.BindingContext>
    <ContentPage.Behaviors>
        <toolkit:EventToCommandBehavior
            BindingContext="{Binding Path=BindingContext, Source={x:Reference enquiry}, x:DataType=ContentPage}"
            Command="{Binding GetAuthorsCommand}"
            EventName="Appearing" />
    </ContentPage.Behaviors>
    <Grid
        Padding="10,0,10,0"
        RowDefinitions="Auto,Auto,Auto,Auto,*"
        RowSpacing="10">
        <Image
            Grid.Row="0"
            Aspect="AspectFit"
            HeightRequest="185"
            SemanticProperties.Description="A picture of library shelves"
            Source="lib_pic.jpg" />
        <Label
            Grid.Row="1"
            FontSize="20"
            Text="Enquiry Page" />
        <toolkit:Expander Grid.Row="2" IsExpanded="{Binding IsOpened}">
            <toolkit:Expander.Header>
                <HorizontalStackLayout MaximumHeightRequest="42">
                    <Label
                        FontSize="16"
                        HorizontalOptions="Start"
                        Text="{Binding SelectedText}" />
                    <Label
                        HorizontalOptions="Start"
                        Text="&#9660;"
                        VerticalOptions="Center" />
                </HorizontalStackLayout>
            </toolkit:Expander.Header>
            <CollectionView
                HeightRequest="190"
                ItemsSource="{Binding DataList}"
                SelectedItem="{Binding SelectedItem}"
                SelectionChangedCommand="{Binding SelectionCommand}"
                SelectionMode="Single">
                <CollectionView.ItemTemplate>
                    <DataTemplate x:DataType="library:Author">
                        <Label FontSize="16" Text="{Binding FullName}" />
                    </DataTemplate>
                </CollectionView.ItemTemplate>
            </CollectionView>
        </toolkit:Expander>
        <Grid
            Grid.Row="3"
            ColumnDefinitions="5*,10,Auto"
            RowDefinitions="Auto">
            <Label
                Grid.Column="0"
                HorizontalOptions="Start"
                Text="Title" />
            <Label
                Grid.Column="2"
                HorizontalOptions="Center"
                Text="Return Date" />
        </Grid>
        <CollectionView
            Grid.Row="5"
            ItemsSource="{Binding BookList}"
            VerticalScrollBarVisibility="Never">
            <CollectionView.ItemsLayout>
                <LinearItemsLayout ItemSpacing="3" Orientation="Vertical" />
            </CollectionView.ItemsLayout>
            <CollectionView.ItemTemplate>
                <DataTemplate x:DataType="library:Book">
                    <Grid ColumnDefinitions="Auto,*,Auto">
                        <Label
                            Grid.Column="0"
                            HorizontalOptions="Start"
                            Text="{Binding Title}" />
                        <Label
                            Grid.Column="2"
                            HorizontalOptions="End"
                            Text="{Binding ReturnDate}" />
                    </Grid>
                </DataTemplate>
            </CollectionView.ItemTemplate>
        </CollectionView>
    </Grid>
</ContentPage>

The list scrolls but the last few items are missing. If I now add Padding to the Grid in the second CollectionView (for example <Grid ColumnDefinitions="Auto,*,Auto" Padding="20"> some of the missing items appear. This view works without the Padding modification in Android. I’m on VS 17.13.3 and Windows 11.

Leave a Reply

Your email address will not be published. Required fields are marked *