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

8

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

路径1 F1 M 170.255,178.837L 170.255,221.158C 170.255,228.917 164.174,230.777 156.745,225.286L 136.003,209.973C 128.572,204.488 128.572,195.512 136.003,190.023L 156.745,174.706C 164.174,169.217 170.255,171.079 170.255,178.837 Z

路径2 F1 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

你可以使用它们来创建一个自定义按钮,就像在此示例中显示的圆形按钮一样? http://www.wpftutorial.net/Templates.html

这个示例涉及覆盖控件模板,如果我想要很多自定义形状的按钮,这似乎需要很多工作。如果我想从资源加载几何点呢?

1个回答

12
没问题,这段代码放进了资源中。
<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>

不得不进行一些小调整,使用StreamGeometry而不是Geometry,因为Geometry是一个抽象类,所以不能在那里使用,但是在大型方面可以工作,谢谢! - theburningmonk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接