私は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);
}
ちらつきがひどく、それの。私はそのWinRTのバグだと思う。 –