Windows Phone 7 WebBrowser 控件吞下操作事件?

2024-02-26

如果我将 WebBrowser 控件放置在任何页面上,该页面将不再响应 WebBrowser 下的操作事件。页面的其他区域工作正常。

通过覆盖很容易确认OnManipulationCompleted在页面中,然后将 WebBrowser 控件放置在该页面上。尝试在网络浏览器上滑动,然后OnManipulationCompleted从未被调用过。

我无法将网络浏览器设置为IsHitTestVisible=false因为我需要能够点击链接。但我希望页面能够响应左/右滑动。

有人有什么好主意吗?或者知道这是否是当前版本中的错误?


我想扩展斯基特已经写过的内容。

关键是,MS WP7 开发团队已经发布了“指南”,他们强烈建议不要放置(在同一页面上)多个接受同一组手势并对其做出反应的布局控件。例如,您不应该尝试将 Pivot 嵌入 Pano 中,因为水平滑动会发生冲突,并且很难区分其中哪个应该执行其操作。浏览器也是同样的情况:它响应所有的滑动和平移..所以不应该放在几乎任何滚动控件中!

现在,话虽如此,我想告诉你,克服它是可能的——尽管这可能并不容易,这取决于你的实际情况。

如果您仍想收到有关该事件的通知,这是最简单的事情gestures是使用 Silverlight Toolkit 库中的 GestureService/GestureListener。即使 WebBrowser 消除了原始操作事件,GestureListener 仍然能够通知您 - 因为它显然在某些“其他层”上监听,我现在不想进入它。只需获取库,添加引用它,执行如下操作:

GestureService.GetListener( targetcontrol ).Flick( myBrowserFlickHandler );

就完成了 - 每当有人轻弹控件时您都会收到通知,完全不考虑操作事件是否 e.handled=true 。这里有一个小小的免责声明:我不记得它在 7.0 上是否有效,因为 WebBrowser 的构建有点不同。在 7.1 和 7.5 上它应该可以工作。

但是,如果您将其应用于网络浏览器 - 您将收到通知 - 但网络浏览器也会收到它。这意味着,两个控件将会做出反应,如果您从处理程序中启动一些故事板,那么它在视觉上会变得非常排斥。

在 7.1 和几乎最新的 7.5 中,可以努力使用 Web 浏览器并完全控制它将看到哪个操作事件。因此,通过过滤 WB 的 mani 事件,并使用 GestureListener 自己查看事件,您既可以阻止 WB 执行任何操作,同时也可以用自己的操作进行响应。我在回答类似问题时对此进行了广泛的讨论,请参阅WP7 Pivot 控件和 WebBrowser 控件 https://stackoverflow.com/questions/5417293/wp7-pivot-control-and-a-webbrowser-control/7347448#7347448了解详情。但这并不是一件快速/容易/有趣的事情。

编辑:和MOST重要的是,它不能保证在future。在 7.1 和 7.5 SDK/OS/API 版本中,WebBrowser 控件内部的一些主要内部变化是可见的,如果它在接下来的几个版本中发生巨大变化,我不会感到惊讶。如果您不想在接下来的 1-2 年内再次访问该主题,请不要玩弄我在那里写的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows Phone 7 WebBrowser 控件吞下操作事件? 的相关文章

  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • 在 Windows 窗体上显示 HTML 内容的最佳方式是什么?

    我想在我的应用程序中显示 HTML 格式的内容 最好是在 Web 浏览器控件内 我可以先创建一个 HTML 文档 然后将其加载到 Web 浏览器控件中 但这太笨拙了 有什么方法可以将包含 HTML 代码的字符串直接加载到 Web 浏览器中吗
  • WP7 中的可滚动文本框(Skype 和 Facebook)

    基本上 我正在开发一个记笔记应用程序 用户可以随意输入 有点像WP7 中的可滚动文本框 https stackoverflow com questions 5576691 scrollable textbox in wp7 我将 TextB
  • 取消 RestSharp 请求

    我正在制作一个 wp7 应用程序 它使用 RestSharp 下载一些数据 我注意到应用程序指南要求我提供一个允许用户取消数据传输的 ui 元素 是否可以在休息时取消 ExecuteAsync 请求 ExecuteAsync 返回一个Res
  • 无法在 WP7 上使用调度程序

    我正在寻找使用调度程序在 UI 线程上调用代码的参考 他们说要这样做 Dispatcher BeginInvoke gt OnSendSuccessful 但我收到编译器错误 指出我无法在静态上下文中访问非静态方法 BeginInvoke
  • WP7 检查互联网是否可用

    我的应用程序 WP7 未被接受 因为如果互联网不可用 它无法加载 我寻找一种方法来检查它并找到了这个命令 NetworkInterface GetIsNetworkAvailable 但它无法在模拟器上运行 而且我没有任何设备来测试它 有人
  • Task.Result 始终为 null

    我正在编写一些代码来通过 Task Factory FromAsync 在 WP7 应用程序中 执行 HttpRequest 任务的 Result 属性始终为 null 但我知道请求本身是正确的 因为如果我将其粘贴到浏览器或 Fiddler
  • 以编程方式关闭 WP7 应用程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Windows Phone 7 关闭应用程序 https stackoverflow com questions 3659195 windows phone 7 close application 如
  • 在 WP7 Silverlight 应用程序中导航时将复杂对象传递到页面

    我一直在使用NavigationService s Navigate导航到我的 WP7 Silverlight 应用程序中其他页面的方法 NavigationService Navigate new Uri Somepage xaml va
  • 在 C# webBrowser 控件中调用 Javascript 函数

    我正在使用网页浏览器C 中的控件加载网页 需要调用返回字符串值的 JavaScript 函数 我有一个解决方案可以使用调用脚本方法 我也尝试了很多 但都失败了 你能具体说明什么失败了吗 我的下面的示例由一个带有 Web 浏览器和按钮的表单组
  • 具有多个控件的列表框

    有人可以帮我创建一个带有复选框和星级控件水平对齐的列表框吗 我想要使 用 C 和 XAML 的 WP7 您需要编写一个自定义列表 这里是一个示例 您需要包含控制工具包 xmlns ControlsToolkit clr namespace
  • 使用 window.external 将 javascript Date 对象传递给 C# WebBrowser 控件

    我能够调用 C 方法WebBrowser ObjectForScripting使用 JavaScriptwindow external from WebBrowserWinForms控制与传递string int bool等等 但是我不知道
  • PhotoChooserTask 后未触发 ApplicationBar 图标按钮单击事件

    我无法在某些条件下触发 ApplicationBarIconButton 的单击事件 我尝试简化重现它所需的步骤 1 创建一个新的Windows Phone应用程序 2 添加新页面 Page1 xaml 3 在 MainPage xaml
  • 添加新的 ApplicationBarMenuItem 图标时无法分配给属性

    我添加了一个新的ApplicationBarMenu带有图标的按钮到我的 wp7 项目中的页面 当尝试运行页面时我得到 无法分配给属性 Microsoft Phone Shell ApplicationBarIconButton Click
  • 部分类继承

    我正在为 Windows Phone 制作一个单位转换器 但我在类继承方面遇到了一些问题 我有课Measurement这应该是我的程序中图形内容的顶级 public class Measurement PhoneApplicationPag
  • 使用 webbrowser 控件 c# 检测网页何时完全加载

    我正在使用一个WebBrowsercontrol 有一个事件称为DocumentCompleted 该事件会针对网页中的每个框架以及加载的所有子文档 例如 JS 和 CSS 触发 我的问题是如何检测此事件的最后一个条目 我的意思是如何检测页
  • 原生编程对于移动开发有何优势?

    我需要为一家公司在一些主要的移动操作系统上开发应用程序 特别是 iOS Android 和 WP7 我最初计划为三种不同的操作系统编写三个独立的应用程序 每个应用程序都使用本机 SDK 然而 这样做有什么好处吗 有许多可用的跨平台工具 Se
  • ASP.NET 网站中的 webbrowser 类

    我有一个要求 需要访问一个网页并对其进行截图 为此 我必须创建一个 ASP NET 以便用户可以输入网站 URL 我试图创建一个 Web 浏览器控件 但后来意识到我无法在 ASP NET 网站中创建 Web 浏览器控件 我正在尝试做这样的事
  • 如何使用 wpf webbrowser 将数据发布到 Web 服务器

    我想从数据库获取数据并使用它来让用户登录到网站 我有一个包含 Web 浏览器控件的 wpf 页面 我有这样的代码 用于将用户登录到用 php 编写的网站
  • 如何加载位于 Windows Phone 7 中应用程序文件夹内的 XML 文件?

    我正在开发 Windows Phone 7 应用程序 我是 Windows Phone 7 应用程序的新手 我通过右键单击项目并选择 添加 gt 新项目 在项目中添加了 XML 文件 然后 我可以使用以下代码轻松地将 XML 文件加载到我的

随机推荐

  • 在 ggplot2 中显式设置面板大小(不仅仅是绘图大小)

    是否可以在 ggplot 中显式设置面板大小 即灰色网格面板 我想象 但找不到 有一些 ggplot 扩展允许类似于panel width unit 3 in panel height unit 4 in 我已经看到了设置整个图大小的解决方
  • 在 Eclipse 中分离编辑器

    有没有办法将编辑器与主 Eclipse 窗口分离 我知道这对于 netbeans 是可能的 但到目前为止我还无法弄清楚如何使用 eclipse 做到这一点 如果可能的话 选择 窗口 新窗户 似乎是分离编辑器的密切替代者 此命令创建一个新的
  • FCM 注册 ID 令牌的最大长度是多少?

    使用 新 Firebase Cloud Messaging 我想可靠地保存客户端设备registration id令牌到本地服务器数据库 以便服务器软件可以向它们发送推送通知 为了保存 100 生成的客户端注册令牌 我应该使用的数据库字段的
  • LD_LIBRARY_PATH 优先级和编译问题

    我正在尝试在Linux机器上安装一些软件 python的rpy2包 特别是rpy2 robjects 如果重要的话 我需要该软件在我的本地空间中查找其共享库 而不是在 usr lib64 等全局空间中查找 我没有这台机器的管理员权限 我的问
  • 如何将 Prisma 与 Electron 结合使用

    我正在使用 Prisma sqlite DB 和 Electron Angular 应用程序 一切正常 直到我尝试创建记录 我在控制台中多次重复收到此错误 https i stack imgur com I0beD png 这是我的 sch
  • MySQL 配置的 JDBC url 使用 utf8 字符编码

    MySQL 5 6 配置 我已经配置了 etc mysql my cnf手动使用utf8 见下文 mysqld character set server utf8 character sets dir usr share mysql cha
  • 如何将命令行参数传递给 Gradle Kotlin DSL

    这是 Groovy 的一个示例 它准确地代表了我想要实现的目标 Command line gradlew jib PmyArg hello build gradle kts task myTask doFirst println myArg
  • RecyclerView 以编程方式单击

    我正在尝试以编程方式单击 recyclerView 的一项 我在用着 recyclerView findViewHolderForAdapterPosition index itemView performClick 当索引属于可见项时 这
  • 如何将 Google Analytics 与 next.js 应用程序一起使用?

    我将 styled components 与 next js 一起使用 因此我的样式需要在服务器端渲染 因此如何将 google 分析添加到我的网站 我检查了next js 谷歌分析示例 https github com zeit next
  • 使用 pandas 查找数据框列中的前 3 个

    我有一个时间序列数据集 如下所示 Date Newspaper City1 City2 Region1Total City3 City4 Region2Total 2017 12 01 NewsPaper1 231563 8696 2402
  • 矢量化照片:寻找合适的算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用CSS动画移动文本?

    有什么想法为什么这个动画不起作用吗 div move from top to bottom div http jsfiddle net vdb3ofmL 1 http jsfiddle net vdb3ofmL 1 你应该position正
  • Rails:如何访问应用程序控制器中的方法?

    我想这是菜鸟范围问题 class ApplicationController lt ActionController Base protect from forgery locations get locations def get loc
  • 获取体式项目 ID

    我试图找出如何从主网络应用程序获取工作区和项目 ID 我似乎无法在任何地方找到它们 我正在尝试编写一个 VB Net 应用程序 并尝试从 API 中获取除 400 Bad request 之外的一些信息 如果我有这些 ID 我可能会走得更远
  • Sencha vs Ionic vs Jquery Mobile vs Appcelerator Titanium [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我在 HTML5 Javascript jQuery AngularJS 方面有很好的经验 我即将开发一个混合移动应用程序 我只是想知道其中哪一
  • FROM 子句中的 JPA 子查询可能吗?

    我在 JPA 方面遇到了一些问题 考虑这种情况 表 A id a 表B id b id a 我需要的是这样的查询 Select a c quantity from A as a Select Count as quantity from B
  • Symfony2 DoctrineFixturesBundle 命名空间错误

    我的灯具捆绑有一个大问题 我无法解决 我 按照预期的步骤进行操作 将行添加到 deps 文件 安装它们 在自动加载中注册它们并 应用程序内核 当我尝试只跑步时app console 它打破了 Fatal error Class Doctri
  • Soundcloud (Oauth2) API 获取访问令牌失败

    我正在尝试根据 Soundcloud 登录对我的网站上的用户进行授权 它使用 Oauth 身份验证 用户必须单击我网站上的按钮 然后重定向到 Soundcloud 网站并登录 之后 用户被重定向回我的网站 我必须在其中获取 accessTo
  • 在自定义转场转换期间,视图的导航栏项目错位

    我有一个自定义 Segue 它使用 UIViewAnimationOptionTransitionFlipFromLeft 在视图之间进行转换 当新视图出现在屏幕上时 由于导航栏元素从左对齐状态跳转到适当的位置 会出现短暂但明显的 闪烁 以
  • Windows Phone 7 WebBrowser 控件吞下操作事件?

    如果我将 WebBrowser 控件放置在任何页面上 该页面将不再响应 WebBrowser 下的操作事件 页面的其他区域工作正常 通过覆盖很容易确认OnManipulationCompleted在页面中 然后将 WebBrowser 控件