我是一个表情混合的新手。我有一个有 9 个路径的画布,我想将前 4 个路径转换为一个按钮,其余 5 个路径转换为另一个按钮?
我找到了一种仅将 1 个路径转换为按钮而不是多个路径的方法。
我是一个表情混合的新手。我有一个有 9 个路径的画布,我想将前 4 个路径转换为一个按钮,其余 5 个路径转换为另一个按钮?
我找到了一种仅将 1 个路径转换为按钮而不是多个路径的方法。
下面的 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}"/>
此语法要求您的按钮样式存储在您的项目可访问的资源字典中。