Задать вопрос

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

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

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

Не могли бы вы подсказать способ, который помог бы решить задачу без проблем?
  • Вопрос задан
  • 3841 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 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>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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