0
私は音楽アプリを開発中です。私はlistview
を使って音楽ファイルを追加しましたが、リストビューのアイテムをクリックして音楽を再生すると、それは例外The URI is empty
をスローします。これに関する助け。リストビュー項目を選択したときに音楽を再生
はここに私のコードです
の.xaml
<MediaElement x:Name="mediaElement" AreTransportControlsEnabled="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<MediaElement.TransportControls>
<MediaTransportControls IsZoomEnabled="False" IsZoomButtonVisible='False' IsSeekBarVisible="True" IsSeekEnabled="True" IsFullWindowButtonVisible="False" IsStopButtonVisible="True"/>
</MediaElement.TransportControls>
</MediaElement>
<ListView x:Name="listView" Margin="0,0,0,115" ItemClick="itemclicked" IsItemClickEnabled="True">
</ListView>
は.cs
public MainPage()
{
this.InitializeComponent();
files();
}
private async void files()
{
var query = KnownFolders.MusicLibrary.CreateFileQuery();
var allFiles = await query.GetFilesAsync();
foreach (var f in allFiles)
{
listView.Items.Add(f.DisplayName.ToString());
}
private void itemclicked(object sender, ItemClickEventArgs e)
{
mediaElement.Source = new Uri(listView.SelectedValuePath);
}
これはどのように動作するのか分かりません。この名前が示すように、[StorageFile.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.displayname.aspx)は、ファイルのユーザーフレンドリーな名前を返します。ファイルパスではありません。また、[SelectedValuePath](https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.selector.selectedvaluepath.aspx)は、データバインディングで使用されます(XAMLでは使用しません) )。あなたはまだデバッガの使用を検討しましたか? – IInspectable