Как создать копию слайдера, wp7, c #, silverlight - PullRequest
0 голосов
/ 29 мая 2011

Не обязательно использовать ползунок, а сделать весь экран интерактивным.Например, я практикуюсь с приложением на ночном столике, и мне бы хотелось, чтобы они могли скользить пальцем вниз, чтобы уменьшить яркость, или вверх, чтобы увеличить яркость.Я знаю, что это было сделано в других приложениях, но я не уверен, с чего начать.Если бы кто-то мог дать мне отправную точку о том, какая техника будет работать или какие-либо идеи для достижения этой цели, было бы здорово!

Спасибо

Ответы [ 2 ]

3 голосов
/ 29 мая 2011

Вы можете использовать GestureListener из Silverlight Toolkit . Взгляните на пример приложения, поставляемого с SL Toolkit. Есть примерная страница GestureSample.xaml. Там вы найдете, как распознавать жесты.

1 голос
/ 29 мая 2011

Одним из способов может быть использование События манипуляции .Так, например, вы получаете начальную позицию в свойстве ManipulationStarted события ManipulationOrigin .Затем вы можете получить окончательную позицию в свойстве Manipulation события ManipulationCompleted .Вычтите два компонента Y и проверьте, больше или меньше нуля.Если оно больше нуля, пользователь перемещается вниз, в противном случае он перемещается вверх.

private void LayoutRoot_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e)
{
    startY = e.ManipulationOrigin.Y;
}

private void LayoutRoot_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
     endY = e.ManipulationOrigin.Y;

     if(endY - startY > 0)
        MessageBox.Text("Down")
     else 
        MessageBox.Text("Up"); 
        //add check to see if it equals zero in which case the user didn't swipe
}

В качестве альтернативы, вы можете выполнять аналогичные действия с помощью Silverlight Toolkit или XNAЖесты .(Они оба немного отличаются).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...