我在我的 WPF 项目和 MaterialDesign 中使用 .Net 8.0。我的问题是,我想创建一个菜单,其中根 MenuItem 有一个加号图标,但由于某种原因,尝试创建一个与我的整个 MenuIten 大小相同的图标,但由于边距(或填充),它会向下爬行。这是我的菜单的一些 XAML 代码:
<Border Grid.Column="1" Grid.ColumnSpan="5"
Grid.Row="1" Padding="30 10">
<StackPanel Orientation="Horizontal">
<Menu Width="45" Height="45" Style="{StaticResource ActionItemsMenuStyle}"
Padding="0" Margin="0">
<MenuItem Background="White" Height="45">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Plus"/>
</MenuItem.Icon>
</MenuItem>
</Menu>
</StackPanel>
</Border>
我尝试改变“
编辑:资源“ActionItemsMenuStyle”为空,不用担心
试试这个:
<Border Grid.Column="1" Grid.ColumnSpan="5" Grid.Row="1">
<StackPanel Orientation="Horizontal">
<Menu Width="45" Height="45" >
<MenuItem Background="White" Height="45">
<MenuItem.Icon>
<Path Stretch="Fill" Data="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z" Fill="Black"/>
</MenuItem.Icon>
</MenuItem>
</Menu>
</StackPanel>
</Border>
它使用路径而不是库,所以你可以根据需要修改它
我尝试使用 materialDesign:PackIcon.RenderTransform 和 ScaleTransform 来更改图标比例(ScaleX,ScaleY)和位置(CenterX,CenterY)?
类似这样的:
<Border Grid.Column="1" Grid.ColumnSpan="5"
Grid.Row="1">
<StackPanel Orientation="Horizontal">
<Menu Width="45" Height="45"
>
<MenuItem Background="White" Height="45">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Plus">
<materialDesign:PackIcon.RenderTransform>
<ScaleTransform ScaleX="2" ScaleY="2"
CenterX="8" CenterY="20"
/>
</materialDesign:PackIcon.RenderTransform>
</materialDesign:PackIcon>
</MenuItem.Icon>
</MenuItem>
</Menu>
</StackPanel>
</Border>
或者你可以使用 MatrixTransform 而不是 ScaleTransform:
<materialDesign:PackIcon.RenderTransform>
<MatrixTransform Matrix="0 1 1 0 -7 -15" />
</materialDesign:PackIcon.RenderTransform>
希望至少有一些帮助。