Winphone开发之下载+显示图片

要吐槽一下,WINPHONE的开发资料真的少的可怜(不过MSDN上面基本已经可以了,我说的是整个的开发氛围)。

下面这个代码做的只是下载一张图片然后在界面上面显示出来,功能非常简单,不过代码知其然不知其所以然,回来再自己看看。

下面是XAML代码:

<phone:PhoneApplicationPage
    x:Class="PhoneApp2.MainPage"
    Loaded="PhoneApplicationPage_Loaded"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot 是包含所有页面内容的根网格-->
    <Grid  x:Name="LayoutRoot" Background="Transparent">
        <Image Name="MyPic" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="None"/>
    </Grid>

</phone:PhoneApplicationPage>

下面是CS文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using PhoneApp2.Resources;
using System.IO;
using System.Diagnostics;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace PhoneApp2
{
    public partial class MainPage : PhoneApplicationPage
    {
        private const String URL_API = "http://www.ray-joy.com/UploadFiles/clubfiles/2013-06/2013063007350484904.jpg";
        // 构造函数
        public MainPage()
        {
            InitializeComponent();
            // 用于本地化 ApplicationBar 的示例代码
            //BuildLocalizedApplicationBar();
        }


        private void Download(String uri)
        {
            System.Net.WebClient client = new System.Net.WebClient();
            client.OpenReadAsync(new Uri(uri));
            client.OpenReadCompleted += new System.Net.OpenReadCompletedEventHandler(webclient_openReadCompleted);
        }

        private void webclient_openReadCompleted(object sender, System.Net.OpenReadCompletedEventArgs e)
        {
            using (Stream s = e.Result)
            {
                byte[] data = new byte[s.Length + 1];
                s.Read(data , 0 , data.Length);
                BitmapImage image = new BitmapImage();
                MemoryStream ms = new MemoryStream(data);
                image.SetSource(ms);
                MyPic.Source = image;
          
            }
        }

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            Download(URL_API);
        }

    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值