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

Для того, чтобы создать своё оформление кнопки, нужно написать свой шаблон элемента управления и назначить его кнопке. Вижу 2 варианта реализации, хотя в каждом есть НО, которое мешает его выбрать

1) Поместить в шаблон просто TextBlock, добавить в него стиль, триггер, который при наведении будет выставлять значение атрибута TextDecoration в Underline. Проблема - нету события Click.
2) Поместить внутрь ContentPresenter. Отсутствует атрибут TextDecoration.

Не могли бы вы подсказать способ, который помог бы решить задачу без проблем?
  • Вопрос задан
  • 3789 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Sumor
В качестве промежуточного решения может подойти следующее.
<Button >            
    <Run>
        <Run.Style>
            <Style TargetType="Run">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="TextDecorations" Value="Underline" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Run.Style>
        Текст
    </Run>
</Button>
Ответ написан
Imagio
@Imagio
Турист, мотоциклист и программист
Возможно поможет Hyperlink:
<TextBlock >
    <Hyperlink Click="Hyperlink_OnClick"></Hyperlink>
</TextBlock>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы