0

我有一个简单的问题。 在我的UWP应用程序中,我使用多线程,并在后台线程上尝试使用代码创建简单的BitmapImage:var image=new BitmapImage();。它引发异常UWP背景线上的bitmapimage

该应用程序调用了一个接口,该接口被编组为另一个线程。

这个异常发生在我试图创建图像的那一行。我只是想创建这个图像,处理它的属性,然后将它存储在我的datalist中。

注意:datalist是一个简单的公共静态属性,它可以在整个应用程序中访问。谢谢你

回答

2

我不能看到问题的完整上下文,所以我不知道为什么这个异常冒泡,但一个可行的方法来解决它是使用CoreDispatcher.RunAsync()。 文档说:

如果你是一个工作线程,并要安排在UI线程上工作,使用CoreDispatcher :: RunAsync。

如果您正在使用MVVMLight,你也可以利用它的DispatcherHelper类CheckBeginInvokeOnUI方法。它会更好一些,因为它首先检查调用哪个线程,如果它是UI线程,它会立即执行动作并仅在需要时才将其传递到UI线程。

+0

不要忘记接受我的答案,如果它解决了你的问题! ;) –

+0

您的回答确实帮助我找到了UWP的确切答案,这里是 http://stackoverflow.com/a/10594388/5305863 –