Windows Phone實用開發技巧(41):解決WebBrowser中顯示黑色背景網頁閃屏

來源:互聯網
上載者:User

在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 即可。 效果十分不錯。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.