2012-02-23 2 views
1

W8 Metro UI 스타일 응용 프로그램을 사용하여보고 대시 보드 응용 프로그램을 개발하고 있습니다. 응용 프로그램에는 어두운 테마가있어서 대부분의 화면이 검은 색입니다. WebView 컨트롤을 사용하여 보고서 서버의 SSRS .rdl 보고서 (모두 검은 배경)를 표시합니다. 내가보고있는 문제는 새 보고서를 탐색 할 때 WebView 컨트롤이 초 동안 흰색으로 깜박이고 새 보고서를로드한다는 것입니다. 이 문제를 해결하기 위해 WebView 컨트롤에 Easing 불투명도 애니메이션을 추가하여 페이드 아웃하고 보고서를로드 한 다음 다시 페이드 인하려고했습니다. 그러나 내가 시도한 것이 든간에 깜박임이 사라지지 않습니다. .WebView는 항상 최상위 구성 요소입니다.

그런 다음 WebView 상단에 검정색 사각형을 놓고 시도해 보았습니다. WebView는 런타임에 항상 최상위에 있으므로 모든 컨트롤을 맨 위에 놓을 수 없습니다. 누구든지이 문제를 해결할 방법을 알고 있습니까?

나는 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의 버그라고 생각합니다. –

답변

0

때문에 별도의 HWND에 내부적으로 로딩 삼지창의 COM 제어 할 수 있습니다. 이 문제를 해결하려면 웹보기에서 가시성을 숨김으로 설정하고 대신 대화 형이 아닌 나머지 UI와 통합되어 웹 페이지를 애니메이션으로 표시 할 수있는 웹 뷰 브러시를 표시하십시오.

+0

나는 그것을 시도했지만 여전히 깜박임을 본다. 나는 그것이 네비게이션과 관련이있을 것이라고 생각한다. 다른 제안? (원래 게시물에 코드 스 니펫을 추가했습니다.) – Brent

관련 문제