我不一定想使用滑块控件,而是让整个屏幕成为一个交互式滑块。例如,我正在床头柜应用程序上练习,我希望它能让他们的手指向下滑动以降低亮度,或者向上滑动以增加亮度。我知道在其他应用程序中也这样做过,但我不知道从哪里开始。如果有人能给我一个起点,告诉我什么技术可行,或者有什么想法可以实现这一点,那就太好了!
感谢
您可以使用Silverlight Toolkit中的GestureListener。看看SL Toolkit提供的示例应用程序。这里有一个示例页面GestureSample.xaml。你会在那里找到如何检测手势。
一种方法可以是使用操纵事件。因此,例如,您可以在ManipulationStarted事件的ManipulationOrigin属性中获得起始位置。然后,您可以在ManipulationCompleted事件的Manipulation属性中获得最终位置。减去两个Y
分量,并检查其是否大于或小于零。如果它大于零,则用户向下移动,否则用户向上移动。
private void LayoutRoot_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e)
{
startY = e.ManipulationOrigin.Y;
}
private void LayoutRoot_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
endY = e.ManipulationOrigin.Y;
if(endY - startY > 0)
MessageBox.Text("Down")
else
MessageBox.Text("Up");
//add check to see if it equals zero in which case the user didn't swipe
}
或者,您可以使用Silverlight Toolkit或XNA手势执行类似的操作。(两者略有不同)。