我试图摆脱按钮边框并仅显示文本,但是即使我将borderThickness设置为0并将borderbrush设置为transparent,也会显示文本周围的细线。 alt text http://i45.tinypic.com/scywye.png
我的保存按钮的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"/>
无论如何我可以摆脱按钮边框吗?
答案 0 :(得分:47)
您需要覆盖Button的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>
答案 1 :(得分:11)
我最近发现对此最有用的方法是让按钮使用工具栏的样式。这只会在鼠标悬停时显示按钮边框时使用图像或文本。
<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" />
答案 2 :(得分:2)
您需要为按钮创建一个新模板。
最简单的方法是在Expression Blend中打开项目,选择按钮,然后右键单击并选择“编辑模板&gt;编辑副本..”。这会将现有模板复制到您可以修改的模板中。如果您在资源字典中创建它会更容易。
然后选择模板并在“资源”选项卡上(在UI的右侧)选择ButtonFocusVisual。选择“属性”选项卡,然后展开“其他”部分。这有BorderStyle和BorderThickness字段(以及其他)。将样式设置为无。
答案 3 :(得分:1)
模板无法解决此问题,您唯一的做法是修改WPF控件。解决方案在这里:
How to remove ButtonChrome border (when defining the template of a border)?