2012-02-23 22 views
1

私はW8 Metro UIスタイルのアプリケーションを使用してレポートダッシュボードアプリケーションを開発しています。アプリケーションには暗いテーマがあるため、画面のほとんどは黒です。 WebViewコントロールを使用して、レポートサーバーからSSRS .rdlレポートを表示しています(すべて黒い背景があります)。私が見ている問題は、新しいレポートに移動すると、WebViewコントロールが1秒間白く点滅してから、新しいレポートをロードすることです。これを回避するために、WebViewコントロールにイージング不透明アニメーションを配置してフェードアウト、レポートをロードしてからフェードインしてみましたが、何を試してもちらつきが消えることはありません。WebViewは常に最上位のコンポーネントです

私はWebViewの上に黒い矩形を置いてみました。 WebViewは常に実行時に表示されるため、コントロールを上に置くことはできません。誰かがこれを回避する方法を知っていますか?

WebView.Transitionsを覗き込みましたが、これで多くのリソースが見つかりませんでした。これは私の答えでしょうか?

EDIT:

イベント新しいレポートをロードする:これは内部的には別のHWNDにトライデントCOMコントロールをロードするためのWebViewの作品だけの方法である

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のバグだと思う。 –

答えて

0

を。この問題を回避するには、WebviewでVisibilityをHiddenに設定し、代わりにインタラクティブではないUIの残りの部分と統合するWebビューブラシを表示します。

+0

私はそれを試みたが、私はまだちらちらを見る。私はそれがナビゲーションと何か関係があるかもしれないと思う。その他の提案はありますか? (元の投稿にコードスニペットを追加しました) – Brent

関連する問題