【问题标题】:Have callback function for button while it is pressed on wp7 Silverlight在 wp7 Silverlight 上按下按钮时具有回调函数
【发布时间】:2012-03-30 09:19:14
【问题描述】:

在 Windows Phone 7 Silverlight 中,有一种方法可以让按钮在我选择它时调用回调函数。要么,要么必须在选择按钮时发挥作用,在释放按钮时发挥作用。关于如何做到这一点的任何想法?

请注意,我已经看过工具包,他们提供的手势不包括这个。

谢谢!

【问题讨论】:

  • 没测试过,不知道能不能用,不过有MouseLeftButtonDownMouseLeftButtonUp事件,也许你可以用一下!

标签: silverlight windows-phone-7 silverlight-4.0 silverlight-toolkit


【解决方案1】:

您可以查看这篇关于手势的深入文章:

http://windowsphonegeek.com/articles/WP7-GestureService-in-depth--key-concepts-and-API

具体来说,点击并按住手势可能对您有用。

这些事件将适用: •手势开始

   The GestureBegin event. 
   public event EventHandler<GestureEventArgs> GestureBegin;

•手势完成

   The GestureCompleted event. 
    public event EventHandler<GestureEventArgs> GestureCompleted;

【讨论】:

  • 正如我在笔记中所说,手势工具包不起作用。点击就是这样,并且按住基本上只是在按住按钮 x 时间后发送一个事件。不是一个持续的增量。 GestureBegin 和 GestureCompleted 事件都不再存在...不过谢谢!
【解决方案2】:

MouseLeftButtonDown 上启动一个计时器,该计时器将在Tick 直到Button 被释放。此外,您还可以控制计时器滴答 Interval

【讨论】:

  • 这不是在手机上……我相信没有鼠标。
  • MouseLeftButtonDown 事件存在于 WP7 中,但我检查并没有在Button 上引发。因此,ManipulationStarted 是您可以用作新闻事件的替代方案
【解决方案3】:

您是否尝试创建类似于列表项倾斜效果的操作。或喜欢视频擦洗栏。两者都是在手指在屏幕上时操作,然后在您移开手指时返回之前的状态?

【讨论】:

  • 也许你可以投票:TouchPanel.GetState()
【解决方案4】:

为了将来的参考,也为了拯救一些未来的灵魂,为什么该死的 MS 没有首先将其作为其 SDK 的一部分来实现这一点的挫败感…… 我最终解决了这个问题,使用 ManipulationStarted 记录开始时间,使用 ManipulationEnd 记录手势的结束时间,并使用单独的线程来跟踪两者之间的滴答声。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多