【发布时间】:2016-06-20 22:04:34
【问题描述】:
我正在编写一个带有动态磁贴的 Windows 8 应用商店应用程序。每个动态磁贴都是需要每 x 分钟刷新一次的图像。我正在使用带有时间触发器的后台任务来生成我的图像并刷新磁贴。
生成我的图像意味着创建一个新图像并在其上绘制我的东西,但由于某种原因,我在尝试创建 WriteableBitmap 的新实例时遇到了异常:
var newImage = new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(10, 10);
或
var newImage = BitmapFactory.New(10, 10);
抛出此异常:
应用程序调用了一个接口,该接口被编组为 不同的线程。 (来自 HRESULT 的异常:0x8001010E (RPC_E_WRONG_THREAD))
我的印象是因为后台任务中没有 UI 线程,但话说回来,为什么 WriteableBitmap 需要 UI 线程?
知道如何解决这个问题吗?如何在后台任务中实例化 WriteableBitmap?
【问题讨论】:
-
好问题。我很想看到一个真正有效的答案。