Windows Phone缩略图显示

时间:2013-09-03 18:36:47

标签: windows-phone-7 windows-phone-8 windows-phone windows-phone-7.1

1)我从亚马逊服务器获取图像并在网格视图中显示,但有些图像不存在,所以我想显示我本地的默认徽标图像。
2)这是在每个网格中显示图像加载进度条的最佳方式

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

1 个答案:

答案 0 :(得分:1)

好的,让我们从头开始。

在您的应用加载图片期间 - 您的应用必须展示一些活动。最好的方法 - 使用进度条。所有新的需求 - 只需创建智能自己的控件,女巫将显示进度条,并在加载完成后 - 显示图像。 (如果您想使用其他图像而不是进度条)

注意: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>
Image_ImageOpened被解雇时,在MySmartImage.cs中

隐藏进度条

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

用于创建缩略图的misc秘密:
ViewModel解码您ImageSource到嵌套大小:

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

希望它对你有帮助。