0

Windows Phoneでタッチするとボタンの色が変わるようにしたいのですがGestureType.Tap、タップが完了した後に呼び出されるジェスチャしか使用できないため、ユーザーがボタンに触れると色が変わります。タッチするとすぐにタッチを検出するにはどうすればよいですか?

        while (TouchPanel.IsGestureAvailable)
        {

            GestureSample gs = TouchPanel.ReadGesture();
            switch (gs.GestureType)
            {
               //this is called AFTER the tap
               case GestureType.Tap:
                    if (Restart.tapped(gs.Position))
                        Restart.selectDrawColor = Color.OrangeRed;
                    else
                        Restart.selectDrawColor = Color.White;

                    if (uploadScore.tapped(gs.Position))
                        uploadScore.selectDrawColor = Color.OrangeRed;
                    else
                        uploadScore.selectDrawColor = Color.White;

                    if (MainMenu.tapped(gs.Position))
                        MainMenu.selectDrawColor = Color.OrangeRed;
                    else
                        MainMenu.selectDrawColor = Color.White;
                    break;
            }

        }
4

1 に答える 1

2

画面に触れることはジェスチャーとは見なされないため、画面にReadGesture戻りません。を持っているオブジェクトを呼び出しTouchPanel.GetState()て探す必要があります。TouchLocationStatePressed

// using System.Linq;

TouchLocation[] newTouchLocations = TouchPanel.GetState()
    .Where(loc => loc.State == TouchLocationState.Pressed)
    .ToList();

ドキュメントによると、は次のことをTouchLocationState.Pressed意味します。

このタッチ位置の位置は新しいものです。

于 2012-05-05T04:36:13.907 に答える