Windows Phone 8.1 Slider - 检测用户交互

时间:2015-02-10 22:08:37

标签: c# xaml windows-phone-8.1

我正在尝试创建一个媒体播放器,我无法弄清楚如何检测用户移动媒体位置的滑块。我已经尝试了MS为滑块提供的各种事件,但它们似乎都没有触发。我已经看到WP早期版本的指南显示Thumb.Drag事件,但我没有看到WP 8.1上的那些。如何检测滑块移动?

由于

Slider Control

2 个答案:

答案 0 :(得分:0)

对我来说有用的是使用PointerPressed来确定用户是否正在与滑块交互,然后我使用PointerReleased,PointerExited和PointerCaptureLost用于相反的情况。

如果您的DispatchTimer每次都会更改滑块值相同的数量,那么您可以使用ValueChanged事件来确定更改的值是否与DispatchTimer应用的值不同。这是您可以处理用户输入逻辑的地方(暂停计时器,直到我上面提到的一个事件发生)。

答案 1 :(得分:0)

我遇到了同样的问题。范围栏将替换progressBar,以便用户可以与其进行交互并将媒体跳转到特定时间。我可以捕获用户交互但不会通过编程方式更改的事件是GotFocus,如下所示:

的Xaml:

<Slider x:Name="sldTest" HorizontalAlignment="Left" Margin="-3,40,0,0" VerticalAlignment="Top" Width="379" GotFocus="Slider_GotFocus"/>

C#:

    private void Slider_GotFocus(object sender, RoutedEventArgs e)
    {
       // the new value will be at the very same object, so you can just 
       // get the value of itself.
       var newValue = sldTest.Value;
    }