我正在尝试创建一个基于翻转视图的 windowsRT 应用程序,其中翻转视图的每个项目(我的应用程序术语中的一个页面)都是VSIS支持的图像。根据 VSIS 的设计,每当任何图像进入可见区域时,都会调用 VSIS 的 updatesneeded 函数并为我绘制位图。
作为增强功能,我想缓存下一页的图像/位图,如果用户单击下一步按钮,将显示该图像/位图。为了实现这一点,我在不同的线程中调用相应 VSIS 的无效函数,希望这会在后台渲染位图(通过调用 UpdatesNeeded),并且当用户单击下一个按钮时,图像已经准备好被显示。
但是,当 VSIS 不在可见区域中时,invalidate 函数似乎不会调用 updatesneeded 回调,因此我的缓存设计失败了。有没有相同的方法/解决方法?我事先知道页面/图像的尺寸,因此获取 vsis 的更新矩形不是问题。此外,如果位图已经渲染,我的 updatesneeded 函数将返回,注意当图像进入可见区域并调用 updatesneeded 时,VSIS 不需要再次重绘整个图像。