回复:他们对WPF在Core 5.0中做了什么-无法显示菜单项图标图像



我一直在尝试将。net 4.8 WPF应用程序转换为。net Core 5.0(我不得不卸载VS 2022,因为它搞砸了我的VS 2019环境)。

我的主窗口的XAML代码在我编译的所有。net框架中工作得很好,包括。net Framework 4.8。

然而,当我在。net Core 5.0下运行我的应用程序时,所有的菜单项图标/图像都丢失了。

我已经尝试了我所能研究的一切,看看我是否在WPF 5.0工作台应用程序中做错了什么,只是为了测试一些菜单的XAML,但没有任何工作。

我甚至不能得到一个图像显示在一个网格中,我特别指定的行。

我在这里错过了什么?

我的工作台代码如下。

感谢任何人能够提供的任何帮助…

& lt; & lt;<代码>祝辞祝辞

<>以前& lt; x窗口:类="MainWindow"Title ="MainWindow"xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns: x ="http://schemas.microsoft.com/winfx/2006/xaml"xmlns: d ="http://schemas.microsoft.com/expression/blend/2008"xmlns: mc ="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:当地="clr-namespace: WPFWorkbenchCore5"主持人:可忽略的="d"身高="450";宽度="800"比;& lt; Grid>& lt;菜单Grid.Row ="0";Name ="mnuMasterMenu"VerticalAlignment ="Top"HorizontalContentAlignment ="Left"VerticalContentAlignment ="Top"FontFamily ="Arial"字形大小="12";背景="DarkSlateBlue"AllowDrop ="True"身高="34";可见性="Visible"比;& lt;子菜单名称="mnuAvailableFunctions"头="Functions&quot可用;背景="DarkSlateBlue"前景="WhiteSmoke"VerticalAlignment ="Center",填充="10"的在& lt; MenuItem.Icon>& lt;图像源="图像/AvailableFunctions_128x128.png"身高="20";宽度="20";HorizontalAlignment ="Center"VerticalAlignment ="Center"比;& lt;/MenuItem.Icon>& lt;/MenuItem>& lt;/Menu>& lt;/Grid>代码& lt;/Window>

好吧,把我的研究术语改成简单的WPF和图像问题,看来我找到了我自己问题的答案。

当我在菜单系统之外测试图像时,它们仍然没有显示出来,我意识到问题仅仅是图像显示,而与我最初认为的菜单系统没有任何关系。

在任何情况下,当使用。net Core 5.0+并且你想要在任何地方显示图像时,你必须进入图像的属性并确保它被编译为"资源";并"复制到输出目录"。

与4。这是从来没有必要的,因为它要么被框架假设,要么被框架简单地理解为要显示的图像。

与4. net核心框架相比,新的。net核心框架丢失了这么多。x框架,我想知道有多少专业人士真的急于使用这些新版本?

对于我自己的工作,我看不出它们有什么好处。

最新更新