我想使用c#和xaml
在图片库中显示我的应用程序(MediaElement)中的图片这里是我的代码:
media.PosterSource = new BitmapImage(new Uri("file//C:/Users/Siio/Pictures/bird.jpg", UriKind.Absolute));
但图像不会出现。
任何建议?
更新 C#
StorageFolder photoFolder = KnownFolders.PicturesLibrary;
List<string> photoTypeFilter = new List<string>();
photoTypeFilter.Add(".png");
QueryOptions queryOption = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);
StorageFileQueryResult queryResults = photoFolder.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> filess = await queryResult.GetFilesAsync();
foreach (StorageFile fil in filess)
{
MusicProperties musicProperty = await fil.Properties.GetMusicPropertiesAsync();
if (musicProperty.Title == UpdateFav.F_Title)
{
Uri uri = new Uri(@"C:\Users\Christopher\Pictures\" + UpdateFav.F_Title + ".png");
Uri uri1 = new Uri(uri.AbsoluteUri);
BitmapImage im = new BitmapImage(uri1);
media.PosterSource = im;
}
}
XAML:
<MediaElement x:Name="media" HorizontalAlignment="Left" Height="398" Margin="122,63,0,0" Grid.Row="1" VerticalAlignment="Top" Width="592" AudioCategory="BackgroundCapableMedia" PosterSource="Assets/BG2.jpg" MediaOpened="media_MediaOpened"/>
答案 0 :(得分:0)
您的绝对文件路径语法不正确。在“文件”之后缺少冒号。正确的语法是“file:///”。这应该导致System.UriFormatException。
Uri构造函数已经知道如何通过为您附加“file:///”语法来处理文件路径。下面是一种更简单的指定文件路径的方法。
示例:
string fileName = @"c:\temp\foo.txt";
Uri uriFile = new Uri(fileName);
Console.WriteLine("Absolute Path: {0}", uri.AbsolutePath);
Console.WriteLine("Absolute Uri: {0}", uri.AbsoluteUri);
输出:
绝对路径:C:/temp/foo.txt
Absolute Uri:file:/// C:/temp/foo.txt
相关问题:c# type to handle relative and absolute URI's and local file paths