C# 使用资源中的几何图形的WPF自定义按钮

C# 使用资源中的几何图形的WPF自定义按钮,c#,.net,wpf,wpf-controls,C#,.net,Wpf,Wpf Controls,有没有一种方法可以像下面这样使用PathGeometry集合: 路径1 F1 M 170.255178.837L 170.255221.158C 170.255228.917 164.174230.777 156.745225.286L 136.003209.973C 128.572204.488 128.572195.512 136.003190.023L 156.745174.706C 164.174169.217 170.255171.079 170.255178.837 Z 路径2 F1

有没有一种方法可以像下面这样使用PathGeometry集合:

路径1 F1 M 170.255178.837L 170.255221.158C 170.255228.917 164.174230.777 156.745225.286L 136.003209.973C 128.572204.488 128.572195.512 136.003190.023L 156.745174.706C 164.174169.217 170.255171.079 170.255178.837 Z

路径2 F1 M 152.29174.464L 134.314187.734C 129.978190.937 127.589195.29 127.589199.994C 127.589204.7 129.978209.057 134.314212.26L 152.29225.531C 150.333229.378 145.412229.52 139.678225.286L 118.935209.973C 111.506118.5062118.935190.022L 139.676174.708C 145.412170.475.464

并使用它们制作自定义按钮,就像制作本例中所示的圆形按钮一样?


这个例子涉及覆盖控件模板,如果我想要有许多自定义形状的按钮,那么似乎需要做很多工作。如果我想从资源中加载几何点,该怎么办?

没有问题,这段代码进入了资源

<Geometry x:Key="geo">
        M 152.29,174.464L 134.314,187.734C 129.978,190.937 127.589,195.29 127.589,199.994C 127.589,204.7 129.978,209.057 134.314,212.26L 152.29,225.531C 150.333,229.378 145.412,229.52 139.678,225.286L 118.935,209.973C 111.506,204.489 111.506,195.512 118.935,190.022L 139.678,174.708C 145.412,170.475 150.333,170.617 152.29,174.464 Z
</Geometry>

<Style TargetType="{x:Type Button}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <Path Data="{StaticResource geo}" Fill="HotPink" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

M 152.29174.464L 134.314187.734C 129.978190.937 127.589195.29 127.589199.994C 127.589204.7 129.978209.057 134.314212.26L 152.29225.531C 150.333229.378 145.412229.52 139.678225.286L 118.935209.973C 111.50618.506204.489 111.50618 118.935190.022L 139.678174.8174.412170.475.4629Z.174

必须进行一个小的调整才能使用StreamGeometry,因为Geometry是一个抽象类,所以不能在那里使用它,但可以在大型上使用,谢谢!