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

我在这里展示图像时遇到了一些问题。

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

 

但是,如果我尝试以编程方式从代码后面更改图像源,我总是得到一个例外,我确定这是因为虚假的Uri。 我试过这样的事情:

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

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

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

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

 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")); 

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

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

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

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

就这样使用它

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