Почему я не могу добавлять предметы в базу данных?
Я создал базу данных с помощью SQLite-net, а затем вставил в нее объект следующим образом:
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db"), true);
await conn.CreateTableAsync<Musei>();
Musei musPref;
musPref = new Musei
{
DidascaliaLista=muss.DidascaliaLista,
NomeMuseo = muss.NomeMuseo,
Luogopreciso = muss.Luogopreciso,
Descrizione = muss.Descrizione,
NumeroTel = muss.NumeroTel,
IndirizzoEmail = muss.IndirizzoEmail,
Immagine= muss.Immagine,
};
await conn.InsertAsync(musPref);
На новой странице я хотел бы получить показ базы данных в элементах ListView в БД
Это код C#:
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db"), true);
await conn.CreateTableAsync<Musei>();
var Dbase = Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db");
var con = new SQLiteAsyncConnection(Dbase, true);
var query = await con.Table<Musei>().ToListAsync();
ListaPreferiti.Source = query;
Это код XAML:
<Page.Resource>
<CollectionViewSource x:Name="ListaPreferiti" IsSourceGrouped="True"/>
</Page.Resource>
.....
<ListView x:Name="ListPreferiti" ItemsSource="{Binding Source={StaticResource ListaPreferiti}}" IsItemClickEnabled="True" ItemClick="ListPreferiti_ItemClick" Margin="0,-1,0.667,-0.333">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="15"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Image x:Name="Cerchio" Grid.Column="0" Grid.Row="0" Source="Assets/120.png" Width="15" Height="15" VerticalAlignment="Top" Margin="0,13,0,0"/>
<TextBlock Grid.Column="3" Grid.Row="0" Text="{Binding NomeMuseo}" TextWrapping="Wrap" FontSize="24" FontWeight="Bold"/>
<TextBlock Grid.Column="3" Grid.Row="2" Text="{Binding Descrizione}" TextWrapping="Wrap" FontSize="18"/>
<Image Grid.Column="2" Grid.Row="0" Source="Assets/NoImage.png"/>
<TextBlock Grid.Column="3" Grid.Row="1" FontSize="18" Text="{Binding Luogopreciso}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.GroupStyle>
<GroupStyle HidesIfEmpty="True">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="Chocolate">
<TextBlock Text="{Binding Key}" Foreground="Beige"
Style="{StaticResource HeaderTextBlockStyle}"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
</PivotItem>
</Pivot>
</Grid>
</PivotItem>
</Pivot>
Я не могу понять, почему ListView пуст. Просто попробуйте запустить приложение, на выходе отладки Visual Studio я вижу это сообщение:
"Ошибка: ошибка пути BindingExpression: свойство 'Key' не найдено в 'App1.Musei, App1, версии =1.0.0.0, Culture= нейтральный, PublicKeyToken=null'. BindingExpression: Path='Key' DataItem='App1.Musei, App1, версия =1.0.0.0, Culture= нейтральный, PublicKeyToken=null'; целевым элементом является Windows.UI.Xaml.Controls.TextBlock' (Name='null'); целевым свойством является Text (тип 'String')"