Я делаю программное обеспечение для управления библиотекой как личный проект.На главной странице есть рамка, которая переходит к «YourBooks_View».YourBooks_View имеет GridView, который показывает основные вещи.Проблема в том, что все отлично связывается, за исключением обложки книги.
Это база данных SQLite:
Это скриншот примера сетки.:
Примечание: местоположение изображения точно существует
Это 'YourBooks_View.xaml':
<StackPanel>
<CommandBar>
<AppBarButton Icon="Add"
Label="New Book"
Click="NewBook_Click"/>
<AppBarButton Icon="Delete"
Label="Remove a Book"
Click="DeleteBook_Click"/>
</CommandBar>
<GridView ItemsSource="{x:Bind Path=ViewModel.Books, Mode=OneWay}">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:Book">
<StackPanel>
<Image Width="200" Height="200" Source="{x:Bind Path=CoverImageLocation, Mode=OneWay}" />
<StackPanel Orientation="Horizontal">
<StackPanel>
<TextBlock FontSize="16" Text="{x:Bind Path=Title, Mode=OneWay}" />
<TextBlock FontSize="10" Text="{x:Bind Path=Author, Mode=OneWay}" />
</StackPanel>
<TextBlock FontSize="20" Text="{x:Bind Path=Quantity, Mode=OneWay}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</StackPanel>
Это 'YourBooks_View.xaml.cs':
public sealed partial class YourBooks_View : Page
{
private BooksViewModel ViewModel { get; set; }
public YourBooks_View()
{
this.InitializeComponent();
ViewModel = new BooksViewModel();
}
private void NewBook_Click(object sender, RoutedEventArgs e)
{
}
private void DeleteBook_Click(object sender, RoutedEventArgs e)
{
}
}
И это моя модель (она же BooksViewModel):
public class BooksViewModel
{
private ObservableCollection<Book> books { get; set; }
public ObservableCollection<Book> Books
{
get { return this.books; }
set
{
this.books = value;
}
}
public BooksViewModel()
{
books = DataAccess.GetBooks();
}
}
DataAccess является статическим классом.Метод GetBooks () считывает базу данных и возвращает наблюдаемую коллекцию типа Book.Это класс Книги:
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public string Publisher { get; set; }
public string ISBN { get; set; }
public int Quantity { get; set; }
public string CoverImageLocation { get; set; }
}