我正在尝试将按钮的背景更改为图像源。当我们导航到页面时,我想将该图像加载到内存中,以便它在第一次显示时不会闪烁。
在 Windows Phone 上,我可以这样创建图像源:
StreamResourceInfo resourceInfo = Application.GetResourceStream(uri);
BitmapImage bitmapSource = new BitmapImage();
// Avoid flicker by not delay-loading.
bitmapSource.CreateOptions = BitmapCreateOptions.None;
bitmapSource.SetSource(resourceInfo.Stream);
imageSource = bitmapSource;
我在我的 Windows 8 应用商店应用中尝试了类似的东西:
BitmapImage bitmapSource = new BitmapImage();
bitmapSource.CreateOptions = BitmapCreateOptions.None;
bitmapSource.UriSource = uri;
imageSource = bitmapSource;
但同样的问题也会发生。该按钮已经具有作为背景的不同图像,并且在某个事件中我希望它更改为新背景。但是当我更改源时,会观察到明显的闪烁。我假设这是因为图像尚未在内存中,因为第二次修改图像源时问题就消失了。
有人知道解决方案吗?我需要以某种方式强制加载此图像。
谢谢!