![](/img/trans.png)
[英]Items Data Binded to LongListSelector/Listbox not showing in windows phone 8 local database
[英]Loading a listbox with database items (LINQ) (Windows Phone)
編輯:更新代碼
我在理解如何將數據庫中的數據加載到列表或集合並將其綁定到列表框時遇到了麻煩。
這是在我的ViewModel中。
// List of Album set as the data source for Listbox
private ObservableCollection<Album> _albums;
public ObservableCollection<Album> Albums
{
get { return _albums; }
set { _albums = value; NotifyPropertyChanged(); }
}
private void AddAlbum()
{
albumDB.Albums.InsertOnSubmit(new Album
{
AlbumName = AlbumName,
AlbumTimeStamp = DateTime.Now,
IsPrivate = IsPrivate,
Password = Password
});
SaveChangesToDB();
LoadAlbums();
}
private void LoadAlbums()
{
Albums = new ObservableCollection<Album>(albumDB.Albums);
}
XAML
<ListBox x:Name="AlbumList">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding Albums}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding AlbumName}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我認為我不需要發布模型,但是如果可以的話!
您可以像這樣更改您的DataTemplate :
<DataTemplate>
<TextBlock Text="{Binding AlbumName}"></TextBlock>
</DataTemplate>
因為ListBox.ItemTemplate的DataContext
是Album 。 因此,您應該做的是將AlbumName綁定到您的TextBlock,而不是AlbumModel.AlbumName。
你可以這樣做
<ListBox x:Name="AlbumList" ItemsSource="{Binding Albums}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding AlbumName}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
祝一切順利 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.