我正在尝试创建一个WPF菜单,该菜单由5个简单的按钮组成,这些按钮完整地填充了单个图像。我创建了以下XAML:
<Menu x:Name="menuMain" Height="40" Margin="0,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Stretch">
<MenuItem x:Name="menuItemPrint" Width="40" Height="40">
<MenuItem.Icon>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="menuItemClear" Width="40" Height="40">
<MenuItem.Icon>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="menuItemSettings" Width="40" Height="40">
<MenuItem.Icon>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="menuItemScanner" Width="40" Height="40">
<MenuItem.Icon>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem x:Name="menuItemMode" Width="40" Height="40" Click="menuItemMode_Click">
<MenuItem.Icon>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40"/>
</MenuItem.Icon>
</MenuItem>
</Menu>
它仅显示图像的左上角四分之一,并且它似乎也出于某些奇怪的原因而抵消了它?互联网上的几乎所有答案都涉及设置图片的大小,我做了(.PNG大小正好是40x40,菜单项和图像也是如此。
我尝试更改对齐方式,将“填充”设置为“拉伸”并调整边距,但似乎没有任何帮助。
为了记录,我正在尝试实现的目标如下所示(尽管最好使用一个不那么奇怪的丑陋的绿色复选标记。你将不得不原谅我的编辑技巧。)
答案 0 :(得分:1)
尝试覆盖menuitem模板。这似乎对我有用。
<Menu Height="40">
<MenuItem Height="40" Width="40">
<MenuItem.Template>
<ControlTemplate>
<Image Source="source path here" />
</ControlTempalte>
</MenuItem.Template>
</MenuItem>
</Menu>
答案 1 :(得分:1)
使用Icon
而不是使用Header
属性,只需设置margin
偏移量。
<MenuItem x:Name="menuItemPrint" Width="40" Height="40">
<MenuItem.Header>
<Image Source="Resources/Images/Yes.png" Width="40" Height="40" Margin="-7"/>
</MenuItem.Header>
</MenuItem>