使用路径标记几何创建重新加载按钮

时间:2017-06-28 08:48:43

标签: c# wpf path geometry markup

我想使用wpf路径标记语法创建重新加载图标。图标应如下所示:

enter image description here

问题是我不知道如何使用例如Elliptical Arcs正确创建一个开圆。

我已创建的类似按钮如下。我的重装按钮应该是相同的比例。

   <ControlTemplate TargetType="Button" x:Key="buttonCustomDelete">
        <ControlTemplate.Resources>
            <Style TargetType="Path">
                <Setter Property="Fill" Value="Transparent"/>
                <Setter Property="StrokeThickness" Value="2"/>
            </Style>
        </ControlTemplate.Resources>

        <Canvas >
            <Path x:Name="circle">
                <Path.Data>
                    <EllipseGeometry Center="7,7" RadiusX="7" RadiusY="7"/>
                </Path.Data>
            </Path>
            <Path x:Name="cross">
                <Path.Data>
                    <GeometryGroup>
                        <LineGeometry StartPoint="3,3" EndPoint="11,11"/>
                        <LineGeometry StartPoint="11,3" EndPoint="3,11"/>
                    </GeometryGroup>
                </Path.Data>
            </Path>

        </Canvas>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter TargetName="cross" Property="Stroke" Value="White"/>
                <Setter TargetName="circle" Property="Fill" Value="#DB4437"/>
            </Trigger>
            <Trigger Property="IsMouseOver" Value="False">
                <Setter TargetName="cross" Property="Stroke" Value="LightGray"/>
                <Setter TargetName="circle" Property="Fill" Value="Transparent"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

1 个答案:

答案 0 :(得分:2)

如前所述 - 您可以使用paralell_read/fraction_of_5394_full让程序绘制您的Inkscape - 查看教程here

如果您对第三方图书馆感觉不错 - 我会向您推荐Font Awesome for WPF

这是一个非常恶心的Path NuGet,并且包含您在问题中显示的重新加载package。它也有很多下载 - 所以不要害怕使用它。它还有一个MIT许可证 - 非常酷。

您还可以查看他们的Repository - 它是开源的。

其他信息:如何在Icon中使用Path

Button

请不要忘记添加资源。您也可以将路径粘贴到 <Button Height="55" Width="55"> <Button.ContentTemplate> <DataTemplate> <Rectangle Width="35" Height="35"> <Rectangle.Fill> <VisualBrush Stretch="Fill" Visual="{StaticResource my_fontawesome_icon}" /> </Rectangle.Fill> </Rectangle> </DataTemplate> </Button.ContentTemplate> </Button>