Одновременное нажатие нескольких кнопок

В моем приложении WP 7.1 у меня есть страница с несколькими кнопками.
Я заметил, что пока нажата одна кнопка, никакая другая кнопка не может быть нажата.

Как я могу преодолеть это? Мне нужно разрешить пользователям нажимать несколько кнопок одновременно.


person sternr    schedule 01.07.2012    source источник


Ответы (1)


К сожалению, вы не можете обрабатывать несколько нажатий кнопок одновременно. Однако есть способ обойти это. Вы можете использовать событие Touch.FrameReported, чтобы получить положение всех точек, которых пользователь касается на экране (я где-то читал, что в WP7 это ограничено двумя, но я не могу это проверить). Вы также можете проверить, предпринимает ли пользователь действие (например, «Вниз», «Переместить» и «Вверх»), что может быть полезно в зависимости от того, что вы делаете.

Поместите это в свой Application_Startup

Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);

Поместите это в свой класс приложений

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.
}

Надеюсь, это поможет вам.

person Conn Darcy    schedule 02.07.2012