当我尝试在Windows Phone 8应用程序中将jpg读入BitmapImage时,我收到以下错误:
System.UnauthorizedAccessException
我正在阅读它,它告诉我,我需要检查应用程序清单文件中的Photo Capability,我做了。我仍然得到错误。
我要读的代码是:
System.Windows.Media.Imaging.BitmapImage b =
new System.Windows.Media.Imaging.BitmapImage(new Uri(@"cat.jpg",
UriKind.RelativeOrAbsolute));
此错误是否还有其他原因?
答案 0 :(得分: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中继续