WIndow 8 Store App从本地自动加载图像

时间:2013-10-04 09:37:15

标签: c# windows-8 windows-8.1

我使用相机捕捉照片并将其保存到我的本地,然后单击后退按钮返回主页,我希望捕获的照片显示在我的主页面中。我在主页中使用以下代码:

MainPage.xaml.cs中:

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    var parameter = e.Parameter as StorageFile;

    if (parameter != null)
    {
        Uri uri = new Uri("CapturedImage.jpeg", UriKind.RelativeOrAbsolute);
        finalImage.Source = new BitmapImage(uri); 
    }
}

错误消息是“System.dll中出现类型'System.UriFormatException'的异常,但未在用户代码中处理”。如何解决?感谢

1 个答案:

答案 0 :(得分:1)

试试这个

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    var parameter = e.Parameter as StorageFile;

    if (parameter != null)
    {
        using (var strm = await parameter.OpenReadAsync())
        {
            var bmp = new BitmapImage();
            bmp.SetSource(strm);
            finalImage.Source = bmp;
        }
    }
}

Uri仅适用于这些情况。

  • 如果文件位于本地,漫游或临时目录中,请使用Uri作为ms-appdata:///local/CapturedImage.jpegms-appdata:///roaming/CapturedImage.jpeg

  • 如果文件是包的一部分,请使用Uri作为ms-appx:///YOUR_FOLDER/CapturedImage.jpeg