Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何根据listbox项更改媒体元素源_C#_Wpf - Fatal编程技术网

C# 如何根据listbox项更改媒体元素源

C# 如何根据listbox项更改媒体元素源,c#,wpf,C#,Wpf,我正在使用wpf媒体元素。我想根据列表框项更改媒体元素源 我在单击下一个按钮时创建了下一个按钮。但是,列表框项目更改为下一个项目。我不知道如何在单击下一个按钮时将媒体元素源更改为下一个列表框项目 有谁知道这件事吗 请帮助我。提前谢谢 我的.xaml文件 <MediaElement Margin="7,29,80,6" Name="mediaElement1" LoadedBehavior="Manual" AllowDrop="True" MediaOpened="mediaEl

我正在使用wpf媒体元素。我想根据列表框项更改媒体元素源

我在单击下一个按钮时创建了下一个按钮。但是,列表框项目更改为下一个项目。我不知道如何在单击下一个按钮时将媒体元素源更改为下一个列表框项目

有谁知道这件事吗

请帮助我。提前谢谢

我的.xaml文件

<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" />


  <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> 
使用代替,或同时设置:

如果将ListBoxItems添加到ListBox,则必须获取它们的
内容

private void btn_next_Click(object sender, RoutedEventArgs e)
{    
    listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
    ListBoxItem item = listBox1.SelectedItem as ListBoxItem;
    mediaElement1.Source = new System.Uri(item.Content as string); 
}

我尝试了,但得到了以下错误。“无效的URI:无法确定URI的格式。”然后,列表框包含哪些项?它们是有效的URI吗?也许您会在填充列表框的地方显示一些代码。这是您的问题中已经存在的列表框的.xaml代码。我的意思是在列表框中添加项目。是否正在添加ListBoxItems?然后查看我编辑的答案。我尝试了您编辑的代码。错误是“对象引用未设置为对象的实例”。
private void btn_next_Click(object sender, RoutedEventArgs e)
{    
    listBox1.SelectedIndex = listBox1.SelectedIndex + 1; 
    mediaElement1.Source = new System.Uri(listBox1.SelectedItem as string); 
}
private void btn_next_Click(object sender, RoutedEventArgs e)
{    
    listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
    ListBoxItem item = listBox1.SelectedItem as ListBoxItem;
    mediaElement1.Source = new System.Uri(item.Content as string); 
}