编程语言
首页 > 编程语言> > c#-将Icon属性与Xamarin.Forms中的嵌入式图像一起使用

c#-将Icon属性与Xamarin.Forms中的嵌入式图像一起使用

作者:互联网

我正在处理shared project,并实现了Master Detail Page.现在,我向共享项目(又名embedded image)添加了图像.图像的构建动作是嵌入式资源,我正在遵循建议,将名称空间(HelloForms)和子文件夹(Ressources)考虑在内.结果应为以下内容:

http://www.xforms-kickstarter.com/SlideOutMenu/screenshot-menu.png

如您所见,leftBarButtonItem是通过Icon属性设置的.我试图将Icon属性设置如下:

Icon = Device.OS == TargetPlatform.iOS ? "HelloForms.Ressources.menu.png" : null;

Icon = new FileImageSource { File = "HelloForms.Ressources.menu.png" };

目前,我显示的是母版页的标题,而不是图标.要使它正常工作,我必须更改什么?我对嵌入式图像的解决方案感兴趣,而对本地图像更感兴趣.

解决方法:

您的代码是错误的,您想使用ImageSource.FromResource,它是为此显式创建的:

Icon = ImageSource.FromResource("HelloForms.Ressources.menu.png");

编辑:

图标是FileStream,因此无法使用ImageSource.同样,Xamarin这样做是有充分的理由的,该文件将用于表示Android桌面上的应用程序,因此系统必须可以访问该文件,并且嵌入式资源不能位于资源文件内部.

“嵌入式资源”在这里引起混乱,在iOS项目上Xamarin将默认的“内容”操作更改为“嵌入式资源”,这导致它被认为嵌入在.net程序集中,但是没有,它已复制到项目中.

只需将文件作为资源添加到iOS / Android项目中,然后直接使用文件名即可.

标签:xamarin,xamarin-forms,xamarin-ios,ios,c
来源: https://codeday.me/bug/20191119/2032485.html