2013-10-04 2 views
0

Я использую камеру захватить фотографию и сохранить ее в свой местный, затем я нажимаю кнопку назад обратно на MainPage, я хочу, чтобы захваченное фото отображалось на моей главной странице. Я использую следующий код в моей главной странице:WIndow 8 Магазин App загружать изображения из местных

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.UriFormatException“типа произошло в System.dll, но был не обрабатывается в пользовательском коде ». Как я его решаю? Благодаря

+0

'" CapturedImage. jpeg "' не является допустимым абсолютным uri. Это не более относительный. – GSerg

+0

Я попробовал как «Относительный», так и «RelativeOrAbsolute». Но и не может. –

+0

Где вы сохраняете изображение после захвата? – Xyroid

ответ

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.jpeg или ms-appdata:///roaming/CapturedImage.jpeg

  • Если файл является частью пакета, используйте Uri в ms-appx:///YOUR_FOLDER/CapturedImage.jpeg

+0

Спасибо за ваш ответ. В коде есть сообщение об ошибке «Can not Implicitly convert type« void »в« Windows.UI.Xaml.Media.ImageSource ». Если я использую Uri как ms-appdata: ///local/CapturedImage.jpeg или ms-appdata: ///roaming/CapturedImage.jpeg, нет ошибки, но не может загрузить изображение. –

+0

ознакомьтесь с обновленным решением. – Xyroid