【问题标题】:WebBrowser control mouse events under Windows Phone 7Windows Phone 7下WebBrowser控制鼠标事件
【发布时间】:2011-03-28 15:57:25
【问题描述】:

在 Windows Phone 7 上,WebBrowser 控制鼠标事件(例如MouseMove, MouseEnter)永远不会触发?我已经设置了断点,但它们从未命中。有没有办法知道用户何时与控件交互?

我正在尝试做my own idle detection,这样当用户在特定视图上阅读时手机不会锁定。但是,该视图的主要部分是 WebBrowser 控件。

【问题讨论】:

  • 为什么需要自己实现空闲检测?您不能只询问用户是否可以禁用空闲检测,然后您的应用程序在他们阅读时不会进入睡眠状态。这就是该功能的用途。
  • 我正在实施自己的空闲检测,因为我将其关闭,如果您将其关闭,文档建议您自己进行,以免设备永远处于解锁状态。我需要比正常时间更长的空闲时间,因为我们希望用户正在阅读扩展段落,因此不会与屏幕交互。但是,如果他们在 WebBrowser 控件中滚动,我想重置我的计时器,否则将启用系统空闲检测。

标签: windows-phone-7 webbrowser-control


【解决方案1】:

手机没有鼠标!
它使用触摸/点击事件,因此这些(与鼠标相关的)事件在手机上没有任何意义。

如果您必须这样做,请尝试改用 Manipulation 事件。

【讨论】:

  • 您指的是什么触摸/点击事件?您可以为他们添加指向 MSDN 文档的链接吗?我知道手机没有鼠标,但在具有紧凑框架的旧 Windows Mobile 6 手机上,鼠标事件会响应。它们基本上是输入设备事件。所以我认为他们可能会工作。如果它们不起作用,为什么框架会有它们? (除了它们来自继承的 Control 类)
  • @mikelberger CF 包含许多与手机无关的内容。这是因为它们与完整框架共享相同的基类定义。 WebBrowser 文档msdn.microsoft.com/en-us/library/…。如果您点击 OnManipulationStarted 方法的链接,它将指向有关在手机上处理操作事件的文章:msdn.microsoft.com/en-us/library/ff426933(v=vs.95)
  • 感谢@matt 的指点。操作事件似乎也没有为 WebBrowser 控件触发。我创建了一个新项目并添加了一个 WebBrowser 控件。然后,我为页面和 WebBrowser 连接了 ManipulationDelta 事件。当点击屏幕上不是 WebBrowser 的任何部分时,页面的 ManipulationDelta 事件会触发。但是,当我点击 WebBrowser 时,不会触发任何事件。
【解决方案2】:

在这里同意 Derek。如果您只是想确保当用户在您的应用中阅读内容时手机不会进入锁定模式,那么以下方法应该可以工作:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;

希望这会有所帮助!

【讨论】:

  • 对,我可以让手机不进入锁定模式。但是根据我链接到的文档,如果您将其关闭,则建议您实现自己的空闲检测。其他控件会引发鼠标事件,但 WebBrowser 控件不会。如果我没有 WebBrowser 控件作为表单的大部分,我可以让这些控件中的每一个都重置我的计时器以启用空闲检测。
猜你喜欢
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多