我正在编写一个带有动态磁贴的 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?