Избавиться от границы кнопки в WPF?

Я пытаюсь избавиться от границы кнопки и отображать только текст, однако отображается тонкая линия вокруг текста, даже если для свойства borderThickness задано значение 0, а для кисти - прозрачного. alt text

мой код xaml для кнопки сохранения:

<Button Content="save" Name="btnSaveEditedText" 
                Background="Transparent" 
                Foreground="White" 
                FontFamily="Tw Cen MT Condensed" 
                FontSize="30" 
                Margin="-280,0,0,10"
                Width="60"
                BorderBrush="Transparent"
                BorderThickness="0"/>

Можно ли как-нибудь избавиться от границы кнопки?

Ответ 1

Вам нужно переопределить ControlTemplate кнопки:

<Button Content="save" Name="btnSaveEditedText" 
                Background="Transparent" 
                Foreground="White" 
                FontFamily="Tw Cen MT Condensed" 
                FontSize="30" 
                Margin="-280,0,0,10"
                Width="60"
                BorderBrush="Transparent"
                BorderThickness="0">
    <Button.Template>
        <ControlTemplate TargetType="Button">
             <ContentPresenter Content="{TemplateBinding Content}"/>
        </ControlTemplate>
    </Button.Template>
</Button>

Ответ 2

Метод, который я недавно нашел наиболее полезным для этого, заключался в том, чтобы ваша кнопка использовала стиль панелей инструментов. Это будет использовать только изображение или текст, только показывая границы кнопок на мыши.

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
        Content="save"
        Name="btnSaveEditedText" 
        Background="Transparent" 
        Foreground="White" 
        FontFamily="Tw Cen MT Condensed" 
        FontSize="30" 
        Margin="-280,0,0,10"
        Width="60"
        BorderBrush="Transparent"
        BorderThickness="0" />

Ответ 3

Вам нужно создать новый шаблон для ваших кнопок.

Самый простой способ сделать это - открыть проект в Expression Blend, выбрать кнопку, а затем щелкнуть правой кнопкой мыши и выбрать "Редактировать шаблон > Изменить копию..". Это копирует существующий шаблон в тот, который вы можете изменить. Это проще, если вы создадите его в словаре ресурсов.

Затем выберите шаблон и на вкладке Ресурс (справа от пользовательского интерфейса) выберите ButtonFocusVisual. Перейдите на вкладку "Свойства" и разверните раздел "Разное". Это поля BorderStyle и BorderThickness (среди прочих). Установите стиль "Нет".