2012-04-25 2 views
1

Windows 8 Metro Style 응용 프로그램에서이 매우 불안한 ​​버그가 발생했습니다. 헤더 - - (horisontally 사용자가 스크롤을 할 수 있습니다 블록을 포함)리스트 뷰 - (광고를 표시하는 웹보기를 포함) 바닥 글Windows8 - Metro - WebView - NavigateToString이 Grid에서 스크롤을 방해합니다.

우리는 그리드 세 행 구성된 있습니다.

.............................................. ................................
                                                                    로고
................................. .......................................

ListView 스크롤이 horisontally ---- ------------------>

........................... .................................................. .
                                                                    AD
.................. .................................................. ..........

문제는 - 광고를 표시하는 javascript를로드하는 NavigateToString을 사용하여 광고 내용을로드하면 스크롤 막대를 사용하지 않는 한 listview의 스크롤이 작동하지 않습니다. NavigateToString을 호출하지 않고 여전히 WebView를 포함하는 경우 스크롤 작업이이 특정 메서드에 오류를 격리했습니다.

나는 작업으로 Html을 생성 해보고 행운을 들이지 않고 디스패처에서 메서드를 호출 해 보았습니다.

DispatchTTimer를 사용하여 광고 로딩을 지연하는 것과 같은 이상한 일을 시도했습니다. NavigateToString 메서드가 호출 될 때까지 작동합니다.

이상한 점 -보기에는 하단의 앱 표시 줄이 포함되어 있습니다. 이 앱 표시 줄을 표시하거나 숨기면 스크롤이 갑자기 작동합니다. (아마도이 ​​특정 작업을 수행 할 때 포커스가 어떻게 든 ListView에 반환됩니다.)

어떤 제안이 있습니까?=)

답변

0

WebView를 AppBar에 배치하지 말고 Visibility를 Visible로 설정해야합니다. WebView의 여백을 큰 음수 값으로 설정하여 응용 프로그램 밖으로 숨 깁니다.

0

네비게이션 완료 이벤트를 webview에 추가하고 네비게이션 완료 이벤트의 포커스를 listview에 설정합니다.

+0

의사 코드 대신 실제 예제를 제공해야합니다. – SliverNinja

2

IsEnabled = false로 설정하십시오. 광고 컨트롤에서 이는 현재 Microsoft 광고 팀에서 제안 된 해결 방법입니다. 단점은 사용자가 해당 세트로 광고를 탭할 수 없다는 것입니다. 그러나 받아 들일 만합니다.

관련 문제