如何在 XAML 应用程序中显示 .ico 图像文件?

Posted

技术标签:

【中文标题】如何在 XAML 应用程序中显示 .ico 图像文件?【英文标题】:How to display a .ico image file in a XAML app? 【发布时间】:2016-12-17 06:49:35 【问题描述】:

是否可以在 XAML C# 应用程序中显示 .ico 文件?它适用于使用 Visual Studio 2015 的 WinRT Windows Phone 8.1 应用程序。

<Image Source="http://www.***.com/favicon.ico"/> 在设计器中显示图标很好,但在模拟器中运行时却没有。

我尝试过使用下载的图标、以编程方式下载图标、保存为 .png 文件、从 LocalFolder 加载、使用 Assets 文件夹等……但图像仍未显示。似乎应该有一个简单的解决方案,或者这是不可能的。

可以吗?

【问题讨论】:

在 WPF 应用程序中,您在 Window 的 xaml 上设置 Icon="myIcon.ico" 属性。不确定 WinRT。如果您想在应用程序本身中显示它,可以尝试将其转换为 PNG 或 JPG 并使用 Image 控件。 我尝试使用 PNG 文件扩展名以编程方式保存 ICO 文件,然后将 Image 控件的 Source 设置为此,但它也没有显示。似乎更多的是图像没有转换,只是保存为不同的文件类型。 是的,您不会通过使用不同的扩展名重命名来更改图像类型。这个免费的在线工具将从 ICO 转换为 JPG:image.online-convert.com/convert-to-jpg 对。但我很难相信 .ico 文件不能以某种方式显示在简单的 Image 控件中。 这个问题可能与您使用远程图像源有关。您的 Windows Phone 设备是否已连接到互联网?尝试将侦听器附加到图像的 ImageFailed 事件并查看它发出的事件。 【参考方案1】:

基本上……不,不可能。

以下在设计器中工作并显示图像的工作代码非常具有误导性:

<Image Source="http://www.***.com/favicon.ico"/>

查看此页面以获得明确的证据:Windows class - Windows app development

注意 图标文件仅在 Windows 上受支持。 Windows Phone 8.1 不支持

【讨论】:

以上是关于如何在 XAML 应用程序中显示 .ico 图像文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何制作ico图标?

在图像元素 <img> 中显示 .ico

如何在没有抗锯齿的情况下显示缩放图像?

如何在有/没有转换的情况下以编程方式在绘图中使用 .ico 图像

如何使用 Python 将 .ICO 转换为 .PNG?

.ico 的 JavaFX 2.2 图像支持?