2012-02-23 18 views
1

我正在開發使用W8的Metro UI風格的應用程序使用報告信息中心的應用程序。該應用程序有一個黑暗的主題,所以大部分屏幕是黑色的。我正在使用WebView控件來顯示來自我們報表服務器的SSRS .rdl報告(所有這些報告都具有黑色背景)。我看到的問題是,當我導航到新報告時,WebView控件瞬間閃爍白色,然後加載新報告。爲了解決這個問題,我試圖把放寬透明度動畫的WebView控件,使其淡出,加載報告,然後褪色回去。但是,不管我怎麼努力,我不能讓閃爍消失。的WebView總是最上面的組件

然後我試圖把在網頁視圖頂部的黑色矩形和衰落是一個進出...仍然沒有運氣。 WebView在運行時始終處於最佳狀態,這意味着我無法控制它。有誰知道解決這個問題的方法嗎?

我breifly進去看了WebView.Transitions,但找不到這個很多資源。這可能是我的答案嗎?

編輯:

事件加載新報告:

void ItemListView_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    // Create a WebViewBrush of the content currently loaded in the WebView 
    WebViewBrush b = new WebViewBrush(); 
    b.SourceName = "WebView1"; 
    b.Redraw(); 
    Rectangle1.Fill = b; 

    // Hide the WebView 
    WebView1.Visibility = Windows.UI.Xaml.Visibility.Collapsed; 

    // Navigate to the new report 
    var selectedItem = ItemListView.SelectedItem; 
    WebView1.Navigate(((Report)selectedItem).ReportUri); 
} 

void WebView1_LoadCompleted(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e) 
{ 
    // Show the new report 
    WebView1.Visibility = Windows.UI.Xaml.Visibility.Visible; 
    Rectangle1.Fill = new SolidColorBrush(Colors.Transparent); 
} 
+0

的閃爍是可怕的和我的應用程序失敗,因爲證書的。我認爲它是WinRT中的一個bug。 – 2012-07-09 12:57:41

回答

0

這只是網頁視圖的工作方式,因爲其內部裝載三叉戟COM控制到一個單獨的HWND。解決方法是將可見性設置爲隱藏在網頁視圖,而是表現出webviewbrush這是不互動,但確實與UI的其餘部分集成,因此它可以是動畫等

+0

我嘗試過,但我仍然看到閃爍。我認爲這可能與導航有關。還有其他建議嗎? (我在原始文章中添加了一段代碼) – Brent 2012-02-24 16:56:14