像大多数人一样,我正在使用MenuItem
的图标。我希望所有这些图像都显示为16x16像素图标。大多数源图像都有这种格式,有些可能是32x32,但所有源图像都略有缩放(大约18x18左右)。
我试过这个,但它不影响图标(如果这是可怕的编码,请通知我。我是xaml的新手。):
<Style TargetType="MenuItem">
<Setter Property="Padding" Value="6,3" />
<Setter Property="Height" Value="22" />
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="Image">
<Setter Property="Height" Value="16" />
<Setter Property="Width" Value="16" />
</Style>
</Setter.Value>
</Setter>
</Style>
答案 0 :(得分:2)
我认为为菜单的TargetType="Image"
属性设置带ItemContainerStyle
的样式没有多大意义。根本不需要设置ItemContainerStyle
。只需使用一种修复每个MenuItem高度的样式。然后,图标图像将自动缩放。
<Style TargetType="MenuItem">
<Setter Property="Height" Value="22" />
</Style>
然后将Icon
属性设置为某个图像,也许图像的边距值较小。
<MenuItem Header=... >
<MenuItem.Icon>
<Image Margin="2" Source=... />
</MenuItem.Icon>
</MenuItem>
如果您确实需要将图片大小修改为特定值,只需设置图片的Width
和Height
属性。
<MenuItem Header=... >
<MenuItem.Icon>
<Image Width="16" Height="16" Source=... />
</MenuItem.Icon>
</MenuItem>
答案 1 :(得分:0)
浏览了很长一段时间后,我发现了关键字“嵌套样式”,在谷歌搜索后产生了https://stackoverflow.com/a/4078275/653473。
<Style TargetType="MenuItem">
<Setter Property="Padding" Value="6,3" />
<Setter Property="Height" Value="22" />
<Style.Resources>
<Style TargetType="Image">
<Setter Property="Height" Value="16" />
<Setter Property="Width" Value="16" />
</Style>
</Style.Resources>
</Style>