Windows Phone实用开发技巧(41):解决WebBrowser中显示黑色背景网页闪屏

在Windows Phone 中,咱们须要显示HTML内容,首选解决方案是WebBrowser。可是WebBrowser中时常出现各类问题:乱码、闪屏等等。css

 

WebBrowser的默认背景颜色是白色的,若是咱们想让WebBrowser的背景颜色变成黑色,须要在要显示HTML中添加css代码html

body{web

background-color:black;ide

color:white;动画

}spa

可是随之而来遇到的一个问题就是会出现从白色背景到黑色背景的突变,致使的结果是屏幕会闪一下。本文的目的是解决这个问题,固然你们若是有更好的解决方案能够跟我分享下。htm

 

方案一: 经过渐变更画blog

咱们经过一个渐变的动画,让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显示图片是一个至关偷懒的方案)

 

方案2、 设置透明度

由上面的渐变更画获得的启示,咱们能够一开始将WebBrowser的Opacity设置为0,而后在加载完成事件(LoadCompleted)中奖Opacity还原为1.0 便可。 效果十分不错。

若是您喜欢个人文章,您能够经过支付宝对我进行捐助,您的支持是我最大的动力https://me.alipay.com/alexis

http://www.cnblogs.com/alexis/archive/2013/02/26/2933733.html

相关文章
相关标签/搜索