Не удается заполнить мой CollectionView sqlite xamarin.forms? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь следовать этому руководству, чтобы подключить свою базу данных sqlite: https://docs.microsoft.com/en-us/xamarin/get-started/quickstarts/database?pivots=windows

На шаге 9 они говорят:

protected override async void OnAppearing()
{
    base.OnAppearing();

    listView.ItemsSource = await App.Database.GetNotesAsync();
}

В моем XAML у меня есть CollectionView, а не представление списка, поэтому я попробовал: CollectionView.ItemsSource, но получаю следующую ошибку: ссылка на объект требуется для нестатистического c поля, метода или свойства 'ItemsView.ItemsSource'

Вот мой код .xaml (обратите внимание, что у меня внутри есть pancakeview, который является плагином, возможно, у него может быть ссылка, но я не уверен: https://github.com/devcrux/Xamarin.Forms-Expander

.XAML code:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:Calculette"
            xmlns:pv="clr-namespace:Xamarin.Forms.PancakeView;assembly=Xamarin.Forms.PancakeView"
            x:Class="Calculette.MainPage"
            BarBackgroundColor = "White"
            BarTextColor="#008A00">
<ContentPage Icon="icontache.png" BackgroundColor="#F6F8F9">
    <ContentPage.Content>
                <!-- ScrollView nous permet d'avoir une page scrollable-->

                    <ScrollView Orientation="Vertical">

                    <CollectionView Grid.Row="2" Margin="25" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
                            SelectionMode="None" ItemsSource="{Binding MyAgenda}">
                        <CollectionView.Header>
                            <StackLayout Orientation="Horizontal" Spacing="220">

                                <Label Text="Agenda" TextColor="Black" FontSize="18"/>

                                <ImageButton Source="iconplus.png"  HeightRequest="30" WidthRequest="30" Clicked="GoToNewFormPage"></ImageButton>



                            </StackLayout>



                        </CollectionView.Header>

                        <CollectionView.ItemsLayout>
                            <LinearItemsLayout Orientation="Vertical" ItemSpacing="20"/>
                        </CollectionView.ItemsLayout>
                        <CollectionView.ItemTemplate >
                            <DataTemplate>
                                <pv:PancakeView HasShadow="True" BackgroundColor="White" VerticalOptions="StartAndExpand " 
                                        HorizontalOptions="FillAndExpand" >
                                    <Grid VerticalOptions="StartAndExpand" HorizontalOptions="FillAndExpand">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <BoxView BackgroundColor="{Binding Color}" WidthRequest="3" HorizontalOptions="Start"
                                         VerticalOptions="FillAndExpand"/>
                                        <Expander Grid.Column="1">
                                            <Expander.Header>
                                                <Grid HorizontalOptions="FillAndExpand">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="*"/>
                                                        <ColumnDefinition Width="Auto"/>
                                                        <ColumnDefinition Width="3.5*"/>
                                                    </Grid.ColumnDefinitions>
                                                    <StackLayout HorizontalOptions="Center" VerticalOptions="Center">
                                                        <Label Text="{Binding Date, StringFormat='{0:dd}'}" TextColor="#008A00" FontSize="27" 
                                                       HorizontalOptions="Center"/>

                                                        <Label Text="{Binding Date, StringFormat='{0:MMMM}'}" TextColor="Black" FontSize="10" 
                                                       HorizontalOptions="Center" Margin="0,-10,0,0" FontAttributes="Bold"/>
                                                        <ImageButton Source="iconplus.png" HorizontalOptions="Center" HeightRequest="30" WidthRequest="30" Clicked="GoToFormPage"></ImageButton>
                                                    </StackLayout>
                                                    <BoxView Grid.Column="1" BackgroundColor="#F2F4F8" WidthRequest="1" HorizontalOptions="Start" 
                                                     VerticalOptions="FillAndExpand"/>
                                                    <StackLayout Grid.Column="2" HorizontalOptions="Start" VerticalOptions="Center" Margin="20">
                                                        <Label Text="{Binding Topic}" TextColor="#008A00" FontSize="15" FontAttributes="Bold"/>
                                                        <Label Text="{Binding Duration}" TextColor="#2F3246" FontSize="12" Margin="0,-10,0,0"/>
                                                    </StackLayout>
                                                </Grid>
                                            </Expander.Header>
                                            <Grid HorizontalOptions="FillAndExpand">
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="*"/>
                                                    <ColumnDefinition Width="Auto"/>
                                                    <ColumnDefinition Width="3.5*"/>
                                                </Grid.ColumnDefinitions>
                                                <BoxView Grid.Column="1" BackgroundColor="#F2F4F8" WidthRequest="1" HorizontalOptions="Start" 
                                                 VerticalOptions="FillAndExpand"/>
                                                <StackLayout Grid.Column="2" Spacing="10">
                                                    <Label Text="Tâches" TextColor="Black" FontSize="15" Margin="20,0"/>
                                                    <StackLayout BindableLayout.ItemsSource="{Binding Speakers}" HorizontalOptions="Start" VerticalOptions="Center" Margin="20,0,0,20">
                                                        <BindableLayout.ItemTemplate>
                                                            <DataTemplate>
                                                                <Label TextColor="#2F3246" FontSize="12">
                                                                    <Label.FormattedText>
                                                                        <FormattedString>
                                                                            <FormattedString.Spans>
                                                                                <Span Text="{Binding Time}"/>
                                                                                <Span Text=" - "/>
                                                                                <Span Text="{Binding Name}" FontAttributes="Bold"/>
                                                                            </FormattedString.Spans>
                                                                        </FormattedString>
                                                                    </Label.FormattedText>
                                                                </Label>
                                                            </DataTemplate>

                                                        </BindableLayout.ItemTemplate>

                                                    </StackLayout>


                                                </StackLayout>
                                            </Grid>
                                        </Expander>
                                    </Grid>
                                </pv:PancakeView>
                            </DataTemplate>
                        </CollectionView.ItemTemplate>
                    </CollectionView>



                </ScrollView>

            </ContentPage.Content>
        </ContentPage>

Спасибо!

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