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