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