【问题标题】:Windows8 - Metro - WebView - NavigateToString disturbs scrolling in GridWindows8 - Metro - WebView - NavigateToString 干扰网格中的滚动
【发布时间】:2012-04-25 08:05:23
【问题描述】:

我在我们的 Windows 8 Metro Style 应用程序中遇到了这个非常令人不安的错误。

我们有一个由三行组成的网格 - 一个标题 - 一个列表视图(包含让用户水平滚动的块) - 页脚(包含显示广告的 WebView)。

.................................................. ................................
标志
..................................................... .............................

列表显示 水平滚动 ---------------------->

.................................................. ................................
广告
..................................................... .............................

问题是 - 当我加载广告的内容时(使用 NavigateToString,它加载一些显示广告的 javascript),列表视图中的滚动停止工作(除非您使用滚动条)。我已将错误隔离到此特定方法 - 如果我不调用 NavigateToString,但仍包含 WebView - 滚动有效。

我尝试将 Html 生成为任务,并在调度程序上调用该方法,但没有成功。

我尝试了一些奇怪的东西,比如使用 DispatchtTimer 来延迟广告的加载。它可以工作.. 直到调用 NavigateToString 方法。

一个奇怪的事情 - 视图包含一个底部应用程序栏。如果我显示/隐藏此应用栏,滚动会突然起作用。 (也许在执行此特定操作时,焦点会以某种方式重新回到 ListView)..

有什么建议吗? =)

【问题讨论】:

    标签: c# xaml windows-8 windows-runtime winrt-xaml


    【解决方案1】:

    设置 IsEnabled=false;在广告控件上。这是微软广告团队目前建议的解决方法。唯一的缺点是用户无法使用该设置选择广告,但我认为这是可以接受的

    【讨论】:

      【解决方案2】:

      WebView 不应放置在 AppBar 中,Visibility 必须设置为 Visible。 我已将 WebView 的边距设置为较大的负值,以将其隐藏在应用程序之外。

      【讨论】:

        【解决方案3】:

        将 navigationCompleted 事件添加到 webview 并在导航完成事件中将焦点设置为 listview。

        【讨论】:

        • 您应该尝试提供一个工作示例而不是使用伪代码。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-23
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        • 2019-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多