2015-02-09 71 views
0

我想爲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事件不起作用我無法將拖動功能提供給滑塊。

+0

你得到的錯誤是什麼? – Kulasangar 2015-02-10 11:45:42

+0

它說:「本地屬性'dragstarted'只能應用於派生自'Thumb'的類型@Kulasangar – decoders15 2015-02-10 13:27:42

回答

0

我從Thumbclass中發現的是,您不能簡單地在您的Slider內添加Thumb.DragStarted="sld1_DragStarted。您只能爲Thumb控件添加那種event。請參閱文章底部的示例代碼。

+0

okk。得到它了。但是,我應該如何提供我想要的滑塊功能,以便根據拖動滑塊的多少來改變媒體位置? @Kulasangar – decoders15 2015-02-10 14:20:11

+0

你可以試試'Converter'類:http://blogs.msdn.com/b/pakistan/archive/2013/08/28/control-position-of-the-song-using-slider-bar- in-windows-phone-using-converter-class.aspx&http://stackoverflow.com/questions/22115537/windows-phone-8-slider-binding-works-only-after-a-click – Kulasangar 2015-02-10 15:43:22