0

我是一个表情混合的新手。我有一个有 9 个路径的画布,我想将前 4 个路径转换为一个按钮,其余 5 个路径转换为另一个按钮?

我找到了一种仅将 1 个路径转换为按钮而不是多个路径的方法。

4

1 回答 1

3

下面的 XAML 是使用 4 个路径和 1 个矩形为具有自定义外观的按钮创建样式的快速(且丑陋)示例。

<Style x:Key="btnFromPaths" TargetType="{x:Type Button}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate  TargetType="{x:Type Button}">
                <Grid>
                    <Rectangle Width="200" Height="40" Fill="#FF87DECD" StrokeThickness="2" Stroke="#FF000000"/>
                    <Path Fill="#FF8A8A8A" StrokeThickness="2" Stroke="#FF000000" >
                        <Path.Data>
                            <PathGeometry Figures="m 60 30 a 30 30 0 1 1 -60 0 30 30 0 1 1 60 0 z" FillRule="nonzero"/>
                        </Path.Data>
                    </Path>
                    <Path Fill="#FFAA0000" StrokeThickness="2" Stroke="#FF000000">
                        <Path.Data>
                            <PathGeometry Figures="m 200 30 a 30 30 0 1 1 -60 0 30 30 0 1 1 60 0 z" FillRule="nonzero"/>
                        </Path.Data>
                    </Path>
                    <Path Fill="#FF808000" StrokeThickness="2" Stroke="#FF000000" >
                        <Path.Data>
                            <PathGeometry Figures="m 60 50 a 30 30 0 1 1 -60 0 30 30 0 1 1 60 0 z" FillRule="nonzero"/>
                        </Path.Data>
                    </Path>
                    <Path Fill="#FF00AAD4" StrokeThickness="2" Stroke="#FF000000" >
                        <Path.Data>
                            <PathGeometry Figures="m 200 50 a 30 30 0 1 1 -60 0 30 30 0 1 1 60 0 z" FillRule="nonzero"/>
                        </Path.Data>
                    </Path>
                    <ContentPresenter HorizontalAlignment="Center"
                                      VerticalAlignment="Center"
                                      SnapsToDevicePixels="True"
                                      Margin="5,1"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

将此样式应用于任何按钮将覆盖该按钮的默认控件模板,例如:

<Button Content="My Button Text"
        Style="{StaticResource btnFromPaths}"/>

此语法要求您的按钮样式存储在您的项目可访问的资源字典中。

于 2013-09-10T13:25:10.887 回答