我最近为 Windows Phone 8 重建了一个应用程序,但使用新的 Silverlight Toolkit,GestureListener 不再存在,警告:“Silverlight 项目不支持 GestureListener”。我真的想在我的应用程序中实现一个手势导航系统,从而可以向左或向右滑动页面以导航到其他两个页面之一,但只有在一定的“拖动阈值”之后 - 这在 WP7 中很好地展示了(行为用于删除我想应用于我的 MainPage 的项目) - 但如果没有旧的控件,我在不懈地尝试后看不到明确的方法。现在显然只有三个操作事件我们可以使用,它使以前容易得多的过程复杂化。我正在尝试使整个页面(即第一个 ContentPanel)沿水平方向移动,但现在甚至无法实现。请问有人可以帮忙吗?
问问题
707 次
1 回答
3
using Microsoft.Phone.Controls;
namespace PhoneApp2
{
public partial class MainPage : PhoneApplicationPage
{
double _x = 0;
double _y = 0;
double _x2 = 0;
double _y2 = 0;
public MainPage()
{
InitializeComponent();
}
private void PhoneApplicationPage_ManipulationStarted_1(object sender, System.Windows.Input.ManipulationStartedEventArgs e)
{
_x = e.ManipulationOrigin.X;
_y = e.ManipulationOrigin.Y;
}
private void PhoneApplicationPage_ManipulationCompleted_1(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
_x2 = e.ManipulationOrigin.X;
_y2 = e.ManipulationOrigin.Y;
string _xx = string.Format(" x:{0} y:{1} x2:{2} y2:{3}", _x, _y, _x2, _y2);
if (_y > _y2 && _y - _y2 > 100)
{
lbl1.Text = "up" + _xx;
}
else if (_x > _x2 && _x - _x2 > 100)
{
lbl1.Text = "left" + _xx;
}
else if (_y < _y2 && _y2 - _y > 100)
{
lbl1.Text = "down" + _xx;
}
else if (_x < _x2 && _x2 - _x > 100)
{
lbl1.Text = "right" + _xx;
}
}
}
}
于 2013-03-07T16:51:18.593 回答