0

当我尝试在 windows phone 8 应用程序中将 jpg 读入 BitmapImage 时,我收到以下错误:

System.UnauthorizedAccessException

我正在阅读它,它告诉我需要检查应用程序清单文件中的照片功能,我做了。我仍然得到错误。

我要读的代码是:

System.Windows.Media.Imaging.BitmapImage b = 
    new System.Windows.Media.Imaging.BitmapImage(new Uri(@"cat.jpg",         
    UriKind.RelativeOrAbsolute));

这个错误还有其他原因吗?

4

1 回答 1

1

BitmapImage对象只能在 UI 线程上构造。您可以这样做Dispatcher.BeginInvoke

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
    System.Windows.Media.Imaging.BitmapImage b = 
        new System.Windows.Media.Imaging.BitmapImage(new Uri(@"cat.jpg",         
        UriKind.RelativeOrAbsolute));

});

但请记住,它是异步的,因此您需要在传递给 BeginInvoke 的 lambda 中继续执行

于 2013-01-22T05:33:16.080 回答