Кнопки WPF пользовательских используя геометрию из ресурсов

есть ли способ использовать коллекцию PathGeometry, как это:

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

путь 2 F1 M 152.29, 174.464 L 134.314, 187.734 C 129.978, 190.937 127.589, 195.29 127.589, 199.994 C 127.589, 204.7 129.978,209.057 134.314, 212.26 L 152.29, 225.531 C 150.333, 229.378 145.412,229.52 139.678,225.286 L 118.935,209.973 C 111.506,204.489 111.506,195.512 118.935,190.022 L 139.678,174.708 C 145.412,170.475 150,333,170.617 152.29, 174.464 Z

и использовать их, чтобы сделать пользовательскую кнопку так же, как вы можете сделать круглую кнопку, показанную в этом примере? http://www.wpftutorial.net/Templates.html

пример включает переопределение шаблона элемента управления, и кажется, что много работы, если я хочу иметь много пользовательских форм кнопки. А что, если я хочу загрузить геометрические точки из ресурса?

1 ответов


нет проблем, этот код поступает в ресурсы.

<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>