1

最近、Windows Phone 8 用のアプリを再構築しましたが、新しい Silverlight Toolkit では、GestureListener が存在しなくなり、「GestureListener は Silverlight プロジェクトではサポートされていません」という警告が表示されます。私は本当に自分のアプリにジェスチャー ナビゲーション システムを実装したいと思っています。これにより、ページを左右にスワイプして他の 2 つのページのいずれかに移動できますが、特定の「ドラッグしきい値」の後でのみです。 MainPage に適用したいアイテムを削除するため) - しかし、執拗に試した後、古いコントロールがないと、これを行う明確な方法がわかりません。現在、操作イベントは明らかに 3 つだけです。以前はとても簡単だったプロセスが複雑になりました。ページ全体 (つまり、最初の ContentPanel) を水平方向に移動できるようにしようとしていますが、今はこれを達成することさえできません。誰か助けてください。

4

1 に答える 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 に答える