Как мне создать пользовательскую форму кнопки с пользовательскими линиями

#c# #.net #wpf #mvvm

#c# #.net #wpf #mvvm

Вопрос:

Итак, я пытаюсь создать пользовательскую кнопку в WPF и сталкиваюсь с проблемой. Я не хочу, чтобы кнопка выделялась, если я не нахожусь внутри видимых строк с помощью курсора.

Что я здесь делаю не так?

 <Button Width="100"
        Height="25"
        Background="Transparent"
        BorderThickness="0">
    <Viewbox  Stretch="Uniform">
        <Canvas Name="svg" Width="373.000000" Height="58.000000">
            <Canvas.RenderTransform>
                <TranslateTransform X="0" Y="0"/>
            </Canvas.RenderTransform>
            <Canvas.Resources/>
            <Canvas Name="g24">
                <Canvas.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleX="0.100000" ScaleY="-0.100000"/>
                        <TranslateTransform X="0.000000" Y="58.000000"/>
                    </TransformGroup>
                </Canvas.RenderTransform>
                <Path Name="path" Fill="#FF000000">
                    <Path.Data>
                        <PathGeometry Figures="M0 390 l0 -180 138 0 137 0 100 -100 100 -100 1375 0 1375 0 100 100 100 100 147 0 148 0 0 180 0 180 -1860 0 -1860 0 0 -180z m3700 0 l0 -150 -143 0 -142 0 -105 -105 -105 -105 -1350 0 -1350 0 -100 100 -100 100 -137 0 -138 0 0 155 0 155 1835 0 1835 0 0 -150z" FillRule="NonZero"/>
                    </Path.Data>
                </Path>
            </Canvas>
        </Canvas>
    </Viewbox>
</Button>
 

Комментарии:

1. Стиль по умолчанию для Button имеет, ControlTemplate который применяет стиль выделения IsMouseOver к триггеру свойства. Вы можете определить свою собственную модифицированную версию этого ControlTemplate , чтобы удалить выделение или выделить только тогда, когда IsMouseOver это верно для вашего элемента Path

2. Вы хотите, чтобы кнопка была формой вашей геометрии? social.technet.microsoft.com/wiki/contents/articles/29866.aspx