Windows Phone实用开发技巧(41):解决WebBrowser中显示黑色背景网页闪屏
在Windows Phone 中,我们需要显示HTML内容,首选解决方案是WebBrowser。但是WebBrowser中时常出现各种问题:乱码、闪屏等等。
WebBrowser的默认背景颜色是白色的,如果我们想让WebBrowser的背景颜色变成黑色,需要在要显示HTML中添加css代码
body{
background-color:black;
color:white;
}
但是随之而来遇到的一个问题就是会出现从白色背景到黑色背景的突变,导致的结果是屏幕会闪一下。本文的目的是解决这个问题,当然大家如果有更好的解决方案可以跟我分享下。
方案一: 通过渐变动画
我们通过一个渐变的动画,让WebBrowser逐渐显示。
private void FadingIn()
{
Storyboard storyboard = new Storyboard();
DoubleAnimation animation = new DoubleAnimation();
animation.Duration = (Duration)TimeSpan.FromSeconds(0.5);
animation.BeginTime = TimeSpan.FromSeconds(0.2);
animation.From = 0.2;
animation.To = 1.0;
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity", new object[0]));
Storyboard.SetTarget(animation, webBrowser);
storyboard.Children.Add(animation);
storyboard.Begin();
}
在设置完webBrowser的Source或者调用webBrowser的Navigate方法之后就可以调用FadingIn了。
效果还可以,主要是看到的WebBrowser中的内容有一个渐变的动画,我在Windows Phone糗事百科App中的查看大图中就使用了这种方法。 (用WebBrowser显示图片是一个相当偷懒的方案)
方案二、 设置透明度
由上面的渐变动画得到的启示,我们可以一开始将WebBrowser的Opacity设置为0,然后在加载完成事件(LoadCompleted)中奖Opacity还原为1.0 即可。 效果十分不错。
如果您喜欢我的文章,您可以通过支付宝对我进行捐助,您的支持是我最大的动力https://me.alipay.com/alexis
作者:Alexis
出处:http://www.cnblogs.com/alexis/
关于作者:专注于Windows Phone 7、Silverlight、Web前端(jQuery)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过shuifengxuATgmail.com 联系我,非常感谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2011-02-26 Windows Phone 7 玻璃框消息提示
2011-02-26 Windows Phone 7 最新的开发工具库