C# 在Windows10上设计的WPF程序不';不能在Windows7上正确缩放

C# 在Windows10上设计的WPF程序不';不能在Windows7上正确缩放,c#,wpf,windows,xaml,C#,Wpf,Windows,Xaml,在过去的几个月里,我为运行Windows7的客户端创建了一个C#WPF程序。我一直在Windows 10设备上开发该程序,最近向客户端发送了一个beta版本,告知它无法正常运行。请参阅以下图片: Windows 10是预期的结果。然而,如图所示,菜单项内的图标是其完整图像大小,而不是缩小以适应菜单。 菜单代码: <Menu Height="21" x:Name="menu1" VerticalAlignment="Top" Panel.ZIndex="3">

在过去的几个月里,我为运行Windows7的客户端创建了一个C#WPF程序。我一直在Windows 10设备上开发该程序,最近向客户端发送了一个beta版本,告知它无法正常运行。请参阅以下图片:

Windows 10是预期的结果。然而,如图所示,菜单项内的图标是其完整图像大小,而不是缩小以适应菜单。 菜单代码:

    <Menu Height="21" x:Name="menu1" VerticalAlignment="Top"  Panel.ZIndex="3">
        <MenuItem Header="_File " >
            <MenuItem Header="_Open" x:Name="Open" Click="Open_Click" >
                <MenuItem.Icon>
                    <Image Source="Resources/OpenFolder.png" />
                </MenuItem.Icon>
            </MenuItem>
        </MenuItem>
此外,还有许多按钮稍微被切断


如果您能帮助我们解决这些问题,我们将不胜感激,提前谢谢您。

嘿,感谢您的评论,我们已经找到了一个解决方案,并将任何有类似问题的人都封装起来

问题一已按照建议修复,方法是使用视口,然后将定义的宽度和高度设置为15像素。代码现在是:

 <Menu Height="21" x:Name="menu1" VerticalAlignment="Top"  Panel.ZIndex="3">
            <MenuItem Header="_File " >
                <MenuItem Header="_Open" x:Name="Open" Click="Open_Click" >
                    <MenuItem.Icon>
                         <Viewbox Width="15" Height="15" HorizontalAlignment="Left">
                               <Image Source="Resources/OpenFolder.png" />
                         </Viewbox>             
                    </MenuItem.Icon>
                </MenuItem>
            </MenuItem>


问题二已通过运行Windows更新修复。我的虚拟机更新了200多个Windows,所以我不确定是哪一个更新解决了这个问题,但我相信其中一个对.net framework的更新解决了模糊问题。

我会试着在一段时间内删除它们,然后继续你的一天。或者将它们转换为实际路径,或者使用Segoe MDL2图标之类的字体样式,以便于缩放,因为我很确定所有这些图标都已经存在。我尝试过将其“拍打”到一个视图框中,但似乎没有任何区别<代码>我不明白您所说的“实际路径”是什么意思,我不能使用“Segoe MDL2图标”因为其他菜单图标都是我制作的自定义图像图标。所以,如果您将图像嵌入ViewBox,则需要为其或其父对象指定大小限制,例如高度、宽度和拉伸方法。就我个人而言,当我制作图标资源时,我喜欢在Illustrator中创建向量,然后导出到路径几何体,这样它们就可以缩放并保持分辨率等,而不是使用光栅图像。尽管您可以直接在图像上设置高度/宽度,并期望图像也保持其大小。除了让我感到奇怪的是,我可以发誓这些尺寸已经在模板ContentPresenter上硬编码了,你不应该需要它们。哦,还有,你的第二个问题通常是另一个单独的问题。虽然我必须看一看那个,但我已经有一段时间没有向后兼容到了。我不完全确定,但我认为对于模糊效果,你必须设置为真。
 <Menu Height="21" x:Name="menu1" VerticalAlignment="Top"  Panel.ZIndex="3">
            <MenuItem Header="_File " >
                <MenuItem Header="_Open" x:Name="Open" Click="Open_Click" >
                    <MenuItem.Icon>
                         <Viewbox Width="15" Height="15" HorizontalAlignment="Left">
                               <Image Source="Resources/OpenFolder.png" />
                         </Viewbox>             
                    </MenuItem.Icon>
                </MenuItem>
            </MenuItem>