我想为Windows Phone做一个小音乐播放器。我在播放器中添加了滑块功能。音乐播放时滑块可以正常工作。但我想根据我拖动滑块的方式更改媒体,但找不到任何相关事件。我尝试过更改价值,但没有帮助。我也试过Thumb.Dragstarted事件,但我的Visual Studio提供了一个错误。这是迄今为止代码:Thumb.DragStarted事件不工作在视觉工作室2013
XAML:
<Slider AllowDrop="True" x:Name="sld1" Thumb.DragStarted="sld1_DragStarted" HorizontalAlignment="Left" Margin="58,213,0,0" VerticalAlignment="Top" Width="351" ValueChanged="sld1_ValueChanged"/>
<MediaElement x:Name="bleep" Source="abcd.wav" AutoPlay="False" Visibility="Collapsed" MediaEnded="bleep_MediaEnded"/>
C#:
public Page1()
{
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += timer_Tick;
timer.Start();
}
private bool userIsDraggingSlider = false;
private void timer_Tick(object sender, EventArgs e)
{
if ((bleep.Source != null) && (bleep.NaturalDuration.HasTimeSpan) && (!userIsDraggingSlider))
{
sld1.Minimum = 0;
sld1.Maximum = bleep.NaturalDuration.TimeSpan.TotalSeconds;
sld1.Value = bleep.Position.TotalSeconds;
}
}
private void sld1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
tm_passed.Text = TimeSpan.FromSeconds(sld1.Value).ToString(@"mm\:ss");
}
private void sld1_DragStarted(object sender, DragStartedEventArgs e)
{
userIsDraggingSlider = true;
}
private void sld1_DragCompleted(object sender, DragCompletedEventArgs e)
{
userIsDraggingSlider = false;
bleep.Position = TimeSpan.FromSeconds(sld1.Value);
}
但由于DragCompleted和DragStarted事件不起作用我无法将拖动功能提供给滑块。
你得到的错误是什么? – Kulasangar 2015-02-10 11:45:42
它说:“本地属性'dragstarted'只能应用于派生自'Thumb'的类型@Kulasangar – decoders15 2015-02-10 13:27:42