UWP - 应用程序文件夹中的图像 Uri

UWP - Image Uri in Application Folder

我在显示图片时遇到了一点问题。

因此,当我尝试从 XAML 加载图像时,我可以使用图像源的相对 uri,如下所示:

<Image Source="/Assets/image.jpg" />

但是,如果我尝试从代码后面以编程方式更改图像源,我总是会遇到异常,我确信这是因为错误的 Uri。我试过这样的事情:

BitmapImage bitmapImage = new BitmapImage(new Uri("/Assets/image.jpg"));

我做错了吗?任何帮助将不胜感激,谢谢!

要访问存储在应用程序包内的文件,但从没有推断根权限的代码中,您需要指定 ms-appx: 方案:

所以在你的情况下它会是这样的:

BitmapImage bitmapImage = 
                     new BitmapImage(new Uri("ms-appx:///[project-name]/Assets/image.jpg"));

阅读此文档了解更多详情:https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965322.aspx

希望对您有所帮助。

您也可以将其与 BaseUri 一起使用。

BitmapImage bitmapImage = new BitmapImage(new Uri(this.BaseUri, "/Assets/image.jpg"));

Assets 是一个文件夹名称,您可以使用任何自定义文件夹名称更改它:)

就这么用

<Image Source="Assets/image.jpg" />
Image img = new Image();
img.Source = new BitmapImage(new Uri("http://www.contoso.com/images/logo.png"));

我相信 WPF 更宽容,像 "Assets/image.png" 这样的路径是可能的。如果您正在编写 UWA (win 10) 应用程序,那么您需要使用 "ms-appx" URI。

我的经验是 "ms-appx:///Assets/image.png" 工作正常。

是的,三个“/”(!),路径中不需要应用名称。