我最近为Windows Phone 8重建了一个应用程序,但是使用新的Silverlight Toolkit,GestureListener不再存在,警告:“Silverlight项目不支持GestureListener”。我真的想在我的应用程序中实现一个手势导航系统,从而可以向左或向右滑动页面以导航到其他两个页面之一,但只有在某个“拖动阈值”之后 - 这在WP7 {{3}中很好地显示(删除我想要应用到我的MainPage的项目的行为) - 但没有旧的控件我无法看到一个明确的方法来做这个,经过无情地尝试。现在显然我们只能使用三个here,这使得之前变得容易的过程复杂化了。我试图让整个页面(即第一个ContentPanel)沿水平方向移动,但现在甚至无法实现。请问有人可以帮忙吗?
答案 0 :(得分: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;
}
}
}
}