wpf 如何缩放使用DrawingBrush插入的SVG图像

new9mtju  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(160)

是否有一种方法可以缩放使用DrawingBrush插入的svg图像,如以下代码所示?

<Style x:Key="HamburgerMenuItemStyle" TargetType="{x:Type MenuItem}">
    <Setter Property="Template" Value="{StaticResource MenuItemControlTemplate1}"/>
    <Setter Property="Icon">
        <Setter.Value>
            <DrawingImage>
                <DrawingImage.Drawing>
                    <GeometryDrawing Geometry="M6 36v-3h36v3Zm0-10.5v-3h36v3ZM6 15v-3h36v3Z"
                                     Brush="Red"/>
                </DrawingImage.Drawing>
            </DrawingImage>
        </Setter.Value>
    </Setter>
</Style>
krcsximq

krcsximq1#

根据您的描述,我认为您应该编写如下代码:

<Style x:Key="HamburgerMenuItemStyle" TargetType="{x:Type MenuItem}">
<Setter Property="Template" Value="{StaticResource MenuItemControlTemplate1}"/>
<Setter Property="Icon">
    <Setter.Value>
        <Image Stretch="UniformToFill" Width="auto" Height="auto" HorizontalAlignment="Left">
            <Image.Source>
                <DrawingImage>
                    <DrawingImage.Drawing>
                        <GeometryDrawing Geometry="M6 36v-3h36v3Zm0-10.5v-3h36v3ZM6 15v-3h36v3Z" Brush="Red"/>
                    </DrawingImage.Drawing>
                </DrawingImage>
            </Image.Source>
        </Image>
    </Setter.Value>
</Setter>
</Style>

注意:由于我没有Template属性,因此将其删除。如果使用此属性仍无法显示图标,请检查该属性。

此外,如果您对Drawing Image的使用不敏感,则可以使用Path标记

<Path Stretch="Fill" Height="30" Width="30" Data="M6 36v-3h36v3Zm0-10.5v-3h36v3ZM6 15v-3h36v3Z" Fill="Red"></Path>

相关问题