6

WP 7.1アプリには、複数のボタンがあるページがあります。
いずれかのボタンを押している間は、他のボタンを押すことができないことに気づきました。

どうすればこれを克服できますか?ユーザーが複数のボタンを同時に押すことができるようにする必要があります。

4

1 に答える 1

4

残念ながら、一度に複数のボタンのクリックを処理することはできません。しかし、それを回避する方法があります。Touch.FrameReported イベントを使用して、ユーザーが画面上で触れているすべてのポイントの位置を取得できます (WP7 ではその前に 2 つに制限されていることをどこかで読みましたが、それを確認することはできません)。また、ユーザーが実行しているアクション (ダウン、移動、アップなど) を確認することもできます。これは、実行している内容によっては役立つ場合があります。

これを Application_Startup に入れてください

Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);

これをAppクラスに入れます

void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
    TouchPoint primaryTouchPoint = args.GetPrimaryTouchPoint(null);


    TouchPointCollection touchPoints = args.GetTouchPoints(null);


    foreach (TouchPoint tp in touchPoints)
    {
        if(tp.Action == TouchAction.Down)
        {
        //Do stuff here
        }

    }
}

「ここで何かをする」部分では、TouchPoint tp がボタンが占める領域内にあるかどうかを確認します。

//This is the rectangle where your button is located, change values as needed.
Rectangle r1 = new Rectangle(0, 0, 100, 100); 
if (r1.Contains(tp.Position))
{
   //Do button click stuff here.
}

うまくいけば、それでうまくいくはずです。

于 2012-07-02T00:31:14.140 に答える