【发布时间】:2019-05-19 00:55:01
【问题描述】:
我在 WinForms 应用程序中托管了一个 WPF UserControl。这个UserControl 有一个ContentControl,它有一个ContextMenu。 ContextMenu 有几个MenuItems,它们的Icon 属性都设置为.ico。
无论出于何种原因,图标在不同的系统上都会变得很大。我已经在 Windows 10 和 Windows 7 机器上测试过它们,它们都很好,但是其他 win10/win7 机器它们是巨大的。
实际的.ico 文件范围从 32x32 位到 256x256。
这是 .xaml:
<UserControl x:Class="TestUC.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="737.239" Width="1455.446"
<Grid>
<ContentControl>
<ContentControl.ContextMenu>
<ContextMenu>
<MenuItem Header="Pan">
<MenuItem.Icon>
<Image Source="Images/panHand.ico" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Zoom In">
<MenuItem.Icon>
<Image Source="Images/zoom_In.ico" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Zoom Out">
<MenuItem.Icon>
<Image Source="Images/zoom_Out.ico" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</ContentControl.ContextMenu>
</ContentControl>
</Grid>
</UserControl>
我可以继续手动设置Height 和Width,但我很想知道是什么原因造成的。
【问题讨论】:
-
在 WPF 中,根据分辨率和缩放比例,图像大小会有所不同。 docs.microsoft.com/en-us/windows/desktop/hidpi/…