Google Books API にアクセスして、アプリの本の結果ページにサムネイル画像を表示しています。ユーザーが書籍リストにすぐにアクセスしたときに、画像フォルダーから「読み込み中」の png 画像を表示したいサムネールが Google ブックス API から読み込まれるまでに時間がかかります。次に、元のサムネイル画像が 1 つずつ読み込み中の画像の上に読み込まれ、ユーザーに素晴らしいエクスペリエンスを提供します。問題は、どうすれば画像を再バインドできるかということです (つまり、読み込み中の画像を読み込んだ後、実際のサムネイルを読み込みたいです)。ここに関連するコードがあります。どうすれば適切な方法でそれを行うことができますか?
コンバーターを使用している場合、どの画像をいつ表示するかを特定する方法がわかりません。
<DataTemplate x:Key="BooksItemTemplate">
<Grid Margin="{StaticResource PhoneTouchTargetOverhang}" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Click="Button_Click_1" />
<Image Source="Images/loading.jpg" Height="150" Width="150"/>
<StackPanel Grid.Column="1" VerticalAlignment="Top">
<TextBlock Text="{Binding BookTitle}" Style="{StaticResource PhoneTextNormalStyle}" TextWrapping="Wrap" FontFamily="{StaticResource PhoneFontFamilySemiBold}"/>
<TextBlock Text="{Binding Identificationno}" Style="{StaticResource PhoneTextNormalStyle}" TextWrapping="Wrap" FontFamily="{StaticResource PhoneFontFamilySemiLight}"/>
</StackPanel>
</Grid>
</DataTemplate>
<phone:LongListSelector x:Name="bookslist"
Background="Transparent"
IsGroupingEnabled="False"
ItemTemplate="{StaticResource BooksItemTemplate}"/>
public BookCategoriesViewModel bookcategoriesvm;
public BooksListing()
{
InitializeComponent();
bookcategoriesvm = new BookCategoriesViewModel();
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string categoryid = string.Empty;
if (NavigationContext.QueryString.TryGetValue("catid", out categoryid))
{
bookcategoriesvm.GetBookcategories(Convert.ToInt64(categoryid));
}
bookslist.ItemsSource = bookcategoriesvm.BooksCategoriesList;
}