Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解释手势识别器结果排序顺序?_C#_Wpf_Gesture Recognition - Fatal编程技术网

C# 如何解释手势识别器结果排序顺序?

C# 如何解释手势识别器结果排序顺序?,c#,wpf,gesture-recognition,C#,Wpf,Gesture Recognition,NET中的GestureRecognizer类的声明指出,识别方法返回的结果的排序顺序与置信度有多强有关 但是,当我创建自己的示例(在WPF、.NET 3.5sp1中)来创建识别器时,我没有看到这种行为。作为记录,我将识别器设置为识别所有可能的手势() 我的代码从MouseDown开始,然后在MouseMove上记录所有点,直到它接收到MouseUp事件,该事件然后在由所有这些点(通常在100点左右的范围内)生成的上调用recognizer.Recognize() 我经常得到的是4个以上的点击,

NET中的
GestureRecognizer
类的声明指出,识别方法返回的结果的排序顺序与置信度有多强有关

但是,当我创建自己的示例(在WPF、.NET 3.5sp1中)来创建识别器时,我没有看到这种行为。作为记录,我将识别器设置为识别所有可能的手势()

我的代码从MouseDown开始,然后在MouseMove上记录所有点,直到它接收到MouseUp事件,该事件然后在由所有这些点(通常在100点左右的范围内)生成的上调用recognizer.Recognize()

我经常得到的是4个以上的点击,排序如下(括号中显示的置信度):

  • 无河口(强)
  • 左箭头(中间)
  • 方形(强)
  • 雪佛龙镇(强)

  • 这是虫子吗?我应该只注意数组中的第一项吗?

    我的经验是,结果集中的项的顺序至少有点随意。最后,我按照置信度(降序)进行排序,然后根据上下文判断这是一个期望的手势,并判断给定手势对应用程序状态的改变程度

    例如:如果我知道circle是一个“选择此项目”的手势,而Square是一个“重建此项目的缓存数据,这可能需要5分钟,因为我们要使用多个外部服务”(考虑到相似性,显然是一个糟糕的手势选择),我更愿意选择circle,如果两者都以同样的信心返回。有时我甚至会采取较低的信心,而不是较高的信心(例如,在一个级别内)

    这确实需要在应用程序中具有强烈的上下文意识,但我发现,确保您没有获得两个“强烈”的信任并最终完成一个需要更多工作才能撤销的信任是很有价值的。关于这些手势界面,有一点始终是正确的,那就是我们永远不会百分之百地做正确的事情,所以要记住,如果我们做错了,就尽量减少伤害