-1

1) Я получаю изображения с сервера амазонки и отображаю их в виде сетки, но некоторые изображения отсутствуют, поэтому я хочу отображать изображение моего по умолчанию, которое находится в моем локальном.
2), который является лучшим способом для отображения загрузки изображений прогресс бар в каждой сеткеЭкран миниатюр Windows Phone

<Image Source="defaultimage" Height="100" Width="100" HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="ImageDisplay"/> 

ответ

1

Ok, давайте начнем с самого начала.

Во время загрузки приложения загружать изображения - ваше приложение должно представлять некоторую активность. Лучший способ - это использовать индикатор выполнения для этого. Все новые потребности - просто создать умный собственный контроль, ведьма отобразит индикатор выполнения, а при загрузке закончит - отображаемое изображение. (Если вы хотите, можно использовать другое изображение, а не прогресс бар)

Примечание: Код для WP7

MySmartImage.xaml

<UserControl x:Class="Test.MySmartImage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 
    mc:Ignorable="d" 
    > 

    <Grid Width="80" Height="80"> 
     <Border CornerRadius="3" BorderThickness="1" BorderBrush="White" Background="Black"> 
      <Grid> 
       <toolkit:PerformanceProgressBar x:Name="pb" IsIndeterminate="True" Margin="0" 
        Background="Yellow" Foreground="Yellow" FontSize="20" 
               BorderThickness="0" d:LayoutOverrides="GridBox" /> 
       <Image Width="80" Height="80" Source="{Binding ImageSourse}" 
         ImageOpened="Image_ImageOpened"/> 
      </Grid> 
     </Border> 
    </Grid> 
</UserControl> 

в MySmartImage.cs при выстреле Image_ImageOpened просто скрыть прогресс бар

private void Image_ImageOpened(object sender, System.Windows.RoutedEventArgs e) 
     { 
      pb.Visibility = Visibility.Collapsed; 
     } 

И не секрет для создания миниатюр:
В вашем ViewModel d ecode вы ImageSource к вложенному размеру:

get 
    { 
      return new BitmapImage(....) { DecodePixelWidth = 200 }; 
    } 

Надеется, что это помогает.

+0

Благодарим за сообщение, но я столкнулся с проблемой, так как я не могу вызвать экземпляр элемента управления xaml в моем примере файла класса main: управление элементовым изображением в xaml - это ImageDisplay, но я не могу получить это имя в Пример страницы примера: ImageDisplay.Source = – vishu