我在Windows 8 Metro Style应用程序中遇到了这个非常令人不安的错误。
我们有一个由三行组成的网格 - 标题 - 列表视图(包含允许用户水平滚动的块) - 页脚(包含显示广告的WebView)。
............................................... ...............................
标志
.................................................. ............................
列表显示
水平滚动---------------------->
............................................... ...............................
AD
.................................................. ............................
问题是 - 当我加载广告的内容时(使用NavigateToString,它会加载一些显示广告的javascript),listview中的滚动停止工作(除非您使用滚动条)。我已将错误隔离到这个特定的方法 - 如果我不调用NavigateToString,但仍然包含WebView - 滚动工作。
我已经尝试将Html生成为任务,并在调度程序上调用该方法,但没有运气。
我尝试过一些奇怪的东西,比如使用DispatchtTimer延迟加载广告。它工作..直到调用NavigateToString方法。
奇怪的是 - 该视图包含一个底部应用栏。如果我显示/隐藏此应用栏,滚动突然起作用。 (在执行此特定操作时,可能会以某种方式重新获得ListView的重点)..
有什么建议吗? =)
答案 0 :(得分:2)
设置IsEnabled = false;在广告控制上。这是Microsoft广告团队目前建议的解决方法。唯一的缺点是用户无法使用该集标签到广告,但我认为这是可以接受的
答案 1 :(得分:0)
不应将WebView放在AppBar中,并且Visibility必须设置为Visible。 我已将WebView的边距设置为较大的负值,以将其隐藏在应用程序之外。
答案 2 :(得分:0)
将navigationCompleted事件添加到webview,并在导航完成事件中将焦点设置为listview。