Как создать button без фона и границ?

214
23 февраля 2018, 15:07

Вся суть в заголовке. Нужна кнопка, которая бы отображалась как текст определенного цвета. Пытаюсь создать. В свойствах все кроме "Foreground" делаю прозрачным, но вокруг кнопки остается серая рамка которую не получается убрать. Кроме того, кнопка начинает мигать если на нее навести или кликнуть. Что делаю не так?

Answer 1

В WPF есть традиция отделять контент от представления. Если вам нужна по смыслу кнопка, используйте кнопку. Если нужно изменить её отображение, используйте стиль:

<Style TargetType="Button" x:Key="LightweightButton">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <ContentPresenter Content="{TemplateBinding Content}"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

И применяйте к вашей кнопке:

<Button Click="OnClick" Style="{StaticResource LightweightButton}">
    Attack!
</Button>

С другой стороны, возможно, вам не нужна кнопка, а нужно «приклеить» обработчик нажатия на текст. Выбирайте сами, как правильно для вашего кода.

Если для вас вдруг более правильным является использование TextBlock'а, можно «повесить» обработчик на MouseLeftButtonDown или (возможно, более правильно) на MouseLeftButtonUp.

READ ALSO
Изменение или создание своего контрола

Изменение или создание своего контрола

Добрый деньВнезапно понадобился листбокс, но не простой, а с доп свойствами, хотелось бы, чтобы он имел примерно такую структуру:

534
RequireJS и плагины jQuery

RequireJS и плагины jQuery

Я только начал разбираться с RequireJS, но у меня появился уже вопросДопустим я имею два плагина для jQuery: a

208