2012-03-02 50 views
-1

我正在使用wpf media element.i爲播放列表創建了一個列表框。問題是如何控制該列表框,ienext和prev按鈕不起作用, 我不知道如何移動列表框中的下一項。 可以幫助我的任何人 在此先感謝。如何在wpf mediaelement中爲列表框創建下一個按鈕

<ListBox 
    Margin="0,31,0,18" 
    Name="listBox1" 
    HorizontalAlignment="Right" 
    Width="74" 
    Grid.Row="1" 
    MouseDoubleClick="listBox1_MouseDoubleClick" 
    SelectedIndex="0" 
    SelectionMode="Multiple" 
    AllowDrop="True"> 
</ListBox> 

<MediaElement 
    Margin="7,29,80,6" 
    Name="mediaElement1" 
    LoadedBehavior="Manual" 
    AllowDrop="True" 
    MediaOpened="mediaElement1_MediaOpened" 
    Grid.IsSharedSizeScope="False" 
    ScrubbingEnabled="True" 
    IsEnabled="True" 
    Stretch="Fill" 
    Drop="mediaElement1_Drop" 
    ClipToBounds="False" 
    Visibility="Visible" 
    OpacityMask="DarkRed" 
    BufferingStarted="btn_play_click" 
    MediaEnded="mediaElement1_MediaEnded" 
    MouseLeftButtonUp="mediaElement1_MouseLeftButtonUp" 
    Grid.Row="1" /> 

回答

0

在您的下一個按鈕上單擊將listBox1.SelectedIndex加1,當然您需要檢查邊界條件。

順便說一句,你應該在你的ViewModel而不是View中做到這一點。你可以綁定你的列表框的SelectedItem與ViewModel中的一個屬性。

+0

private void btn_next_Click(object sender,RoutedEventArgs e) { this.listBox1.SelectedIndex = listBox1.SelectedIndex + 1; mediaElement1.Play(); } – havan 2012-03-02 08:58:47

+0

但它不起作用 – havan 2012-03-02 08:59:28

+0

你綁定物品的地方在哪? – gaurawerma 2012-03-02 09:21:14

0

我希望你已經編寫了mediaended事件的代碼來播放下一首歌。 媒體元素沒有設計中的下一個按鈕,但是您可以通過添加新的按鈕並使用以下代碼來實現,這將有助於跳過當前歌曲。

mediaElement.Position = mediaElement.NaturalDuration.TimeSpan;