Windows phone 7 wp7中的单击与双击困境

Windows phone 7 wp7中的单击与双击困境,windows-phone-7,silverlight-4.0,Windows Phone 7,Silverlight 4.0,单击与双击的两难选择 我有一个事件发生在一次点击,我有一个不同的事件发生在双击 单击一次:加载电子邮件预览 双击:在不同窗口中加载消息视图 问题是,为了实现双击,只需单击一次。。。两次。 当前的解决方案是在单击上设置一个超时,如果检测到双击,则取消该超时 问题1:双击事件发生的超时时间是多少?例如,如果我真的很慢地单击,它就不会发生 问题2:有比使用超时更好的解决方法吗?为什么不使用其他方法呢。 点击以在新窗口中打开 按住预览按钮?为什么不使用其他工具呢。 点击以在新窗口中打开 坚持预览?你肯定

单击与双击的两难选择

我有一个事件发生在一次点击,我有一个不同的事件发生在双击

单击一次:加载电子邮件预览

双击:在不同窗口中加载消息视图

问题是,为了实现双击,只需单击一次。。。两次。 当前的解决方案是在单击上设置一个超时,如果检测到双击,则取消该超时

问题1:双击事件发生的超时时间是多少?例如,如果我真的很慢地单击,它就不会发生


问题2:有比使用超时更好的解决方法吗?

为什么不使用其他方法呢。 点击以在新窗口中打开
按住预览按钮?

为什么不使用其他工具呢。 点击以在新窗口中打开
坚持预览?

你肯定应该重新考虑你的用户界面。看看你周围的应用程序,尤其是在Windows中:当支持双击时,单次单击操作总是被触发的,而且不引人注目。例如,当双击某个图标时,第一次单击将选中该图标,第二次单击将触发该操作。至少有两个原因:

  • 双击是一个复杂的动作。用户有时会失败,触发单击操作。因此,你不想做任何可能会惹恼他的事情

  • 如果您不想在用户每次双击时触发单键单击操作,那么除了设置一个超时,您别无选择。这意味着每个试图使用单击的用户都必须忍受超时,从而降低应用程序的响应速度并妨碍用户体验

  • 我可以为WP7开发添加另外一个原因:由于双击在大多数其他移动应用程序中都没有使用,所以这种手势无法发现,大多数用户也不会意识到他们可以使用它


    底线:考虑使用另一种手势(比如扫描,或者点击和保持),或者改变你的UI,使它变得不必要。p> 你绝对应该重新考虑你的用户界面。看看你周围的应用程序,尤其是在Windows中:当支持双击时,单次单击操作总是被触发的,而且不引人注目。例如,当双击某个图标时,第一次单击将选中该图标,第二次单击将触发该操作。至少有两个原因:

  • 双击是一个复杂的动作。用户有时会失败,触发单击操作。因此,你不想做任何可能会惹恼他的事情

  • 如果您不想在用户每次双击时触发单键单击操作,那么除了设置一个超时,您别无选择。这意味着每个试图使用单击的用户都必须忍受超时,从而降低应用程序的响应速度并妨碍用户体验

  • 我可以为WP7开发添加另外一个原因:由于双击在大多数其他移动应用程序中都没有使用,所以这种手势无法发现,大多数用户也不会意识到他们可以使用它


    底线:考虑使用另一种手势(比如扫描,或者点击和保持),或者改变你的UI,使它变得不必要。p> 在朋友的帮助下,我找到了答案

    private void Button_Tap(object sender, GestureEventArgs e)
        {
            //add the event handler for single tap event
            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
            //start timer. If the tick happends a single tap happend. If it is a double tap the tick event will be removed.
            dispatcherTimer.Start();
        }
    
        //No double tap happend. So execute the tap function.
        private void dispatcherTimer_Tick(object sender, EventArgs e)
        {
            //Stop timer
            dispatcherTimer.Tick -= new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Stop();
    
            //Rest of the tap function
            Taps.Add("Tap");
        }
    
        private void Button_DoubleTap(object sender, GestureEventArgs e)
        {
            //Stop timer
            dispatcherTimer.Tick -= new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Stop();
    
            //Rest of the double tap function
            Taps.Add("Double tap");
        }
    

    在朋友的帮助下,我找到了答案

    private void Button_Tap(object sender, GestureEventArgs e)
        {
            //add the event handler for single tap event
            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
            //start timer. If the tick happends a single tap happend. If it is a double tap the tick event will be removed.
            dispatcherTimer.Start();
        }
    
        //No double tap happend. So execute the tap function.
        private void dispatcherTimer_Tick(object sender, EventArgs e)
        {
            //Stop timer
            dispatcherTimer.Tick -= new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Stop();
    
            //Rest of the tap function
            Taps.Add("Tap");
        }
    
        private void Button_DoubleTap(object sender, GestureEventArgs e)
        {
            //Stop timer
            dispatcherTimer.Tick -= new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Stop();
    
            //Rest of the double tap function
            Taps.Add("Double tap");
        }
    

    在wp7上,doubleTap可能从未使用过。在wp7上,保持将是正确的方式,doubleTap可能永远不会使用。等待是正确的选择

    我得到了这样的规格。我必须使用单水龙头和双水龙头。你能给我一些使用超时的示例代码吗。我会给你另一个因素,我将在我的项目中使用。当单次点击屏幕上出现画布时,当双次点击时,网格高度应该降低。我得到了这样的规格。我必须使用单水龙头和双水龙头。你能给我一些使用超时的示例代码吗。我会给你另一个因素,我将在我的项目中使用。当单次点击屏幕上出现画布时,当双点击屏幕上出现画布时,网格高度应降低。通过这种方式,用户交互与平台上的其他方式不同,您将面临无法进入商店的风险(暂停可能被解释为没有响应);如果它被接受,就会得到不利的评价。如果这是一个客户请求,可能值得他们的客户更好地接受。通过这种方式,用户交互与平台上的其他方式不同,您将面临无法被商店接受的风险(暂停可能被解释为没有响应);如果它被接受,就会得到不利的评价。如果这是一个客户端请求,那么最好让他们的客户更好地接收到它。我已经通过使用定时器控制事件实现了这一点。microsoft将不允许在同一应用程序中使用双点击和单点击的应用程序。如果允许,请告诉我这是允许的,但不寻常,可能对用户体验有害。作为wp7用户,您根本不习惯双击普通控件(WebBrowser和maps除外)。我使用定时器控件事件实现了这一点。microsoft将不允许在同一应用程序中使用双点击和单点击的应用程序。如果允许,请告诉我这是允许的,但不寻常,可能对用户体验有害。作为wp7用户,您根本不习惯双击普通控件(WebBrowser和maps除外)。