Xamarin.forms Mac应用程序中使用Xamrin.Forms的图标和图像

Xamarin.forms Mac应用程序中使用Xamrin.Forms的图标和图像,xamarin.forms,xamarin.mac,Xamarin.forms,Xamarin.mac,我正在将windows窗体应用程序转换为Mac。我选择的策略是创建一个xamarin表单项目。稍后添加Xamarin.Mac项目,并使用Xamarin表单NetStandard代码在MacOS上运行。原始的win表单应用程序有两个.ico图像。一个显示在屏幕上,另一个显示为桌面图标。如何在我的Mac项目中使用这些图像。提前谢谢。没有人回答,但我自己找到了答案。在将Windows窗体应用程序转换为Xamarin.Mac应用程序时,我必须处理几个问题。我使用Visual Studio for Mac

我正在将
windows窗体
应用程序转换为
Mac
。我选择的策略是创建一个
xamarin表单
项目。稍后添加
Xamarin.Mac项目
,并使用Xamarin表单NetStandard代码在
MacOS
上运行。原始的
win表单
应用程序有两个
.ico图像
。一个显示在
屏幕上
,另一个显示为
桌面
图标。如何在我的Mac项目中使用这些图像。提前谢谢。

没有人回答,但我自己找到了答案。在将
Windows窗体
应用程序转换为
Xamarin.Mac
应用程序时,我必须处理几个问题。我使用
Visual Studio for Mac
创建
Xamarin.Forms
项目并向其中添加Xamarin.Mac项目。Xamarin.Mac的许多C#逻辑都是现成的。但是我必须在
Xaml
中重写整个UI。我只有两张
.ico
图像。我需要将它们转换成可以在Mac上使用的格式。 我决定使用免费的开源软件。我使用
GIMP
将图像的格式更改为
.png

在此之后,我将.png图像保存在Xamarin.Mac的
Resources文件夹中,使用
Build Action
as
Bundle Resource
。为图像编写此xaml:

<Image  x:Name="LogoImage" Margin="-100,-100,-100,-120"/>
请注意,
ImageSource.FromFile
用于每个
平台项目中保存的
本地图像
。而
ImageSource.FromResource
用于
共享项目中嵌入的
图像
,并具有
构建操作
作为
嵌入资源
。第一个图像显示在UI屏幕上

现在是在
winforms app
中用作
应用程序图标的第二个图像。这里的工作方式不同。在现代应用程序开发中,一般做法是为应用程序将运行的
每种分辨率
设备形状因数
提供图像。除此之外,在不同的地方需要显示不同大小的图像。e、 g Mac上的
Dock
Menubar
活动监视器的图像。所以我为GIMP所需的每个分辨率创建了图像

最后从Mac项目中打开Assets.xcsets文件。向下滚动并找到不同分辨率mac图像的空框。通过单击每个框并选择正确的图像大小来添加匹配的图像。详情请参阅。最后,需要从两个
项目中
删除
bin
obj
文件夹
Clean
重建
Xamarin.Mac
项目,图像集成在应用程序中,并在我部署应用程序时显示

LogoImage.Source =ImageSource.FromFile("logo.png");