在WPF和UWP中,我可以使用本地资源创建一个图像,如下所示:
<Image Source="ms-appx:///MyDll/MyFolder//Folder.png"/>
这在Xamarin中似乎不再有效。访问嵌入式图像(.bmp,.jpg等)的替代方法是什么?
要在项目中嵌入图像,请右键单击以添加新项目,然后选择您要添加的图像。默认情况下,图像将具有建立动作:无;这需要设置为“构建操作”:
EmbeddedResource
。
加载嵌入式图像的代码只是将Resource ID
传递给ImageSource.FromResource
方法,如下所示:
var embeddedImage = new Image { Source = ImageSource.FromResource("xxx.jpg", typeof(EmbeddedImages).GetTypeInfo().Assembly) };
在xaml中,使用项目的正确名称空间和程序集值将自定义xmlns添加到XAML:
xmlns:local="clr-namespace:xxxx;assembly=xxxx"
<Image Source="{local:ImageResource xxx.jpg}" />