2010-05-24 90 views
19

我想擺脫按鈕邊框,只顯示文本,但是即使我將borderThickness設置爲0並將borderbrush設置爲透明,文本週圍的細線也會顯示出來。爲保存按鈕 alt text http://i45.tinypic.com/scywye.png擺脫WPF中的按鈕邊框?

我的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

短劈:'<按鈕了borderThickness = 「0」 形式= 「{StaticResource的{X:靜態ToolBar.ButtonStyleKey}}」>',從[相似柱](http://stackoverflow.com/questions/995757/how-do-you-completely-remove-the-button-border-in-wpf) – 2014-12-10 09:24:49

回答

47

你需要重寫按鈕的控件模板:

<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> 
+3

您的建議將刪除按鈕的所有高亮/按下樣式。 – 2010-12-28 03:31:14

+2

是的。如果你想保留這個,你必須得到一個控制模板的副本(例如使用表達式混合)來修改它(並且保留在你想要保留的部分),然後將它應用到你的按鈕上。 – bitbonk 2011-01-03 08:40:04

2

您需要爲您的按鈕,一個新的模板。

最簡單的方法是在Expression Blend中打開項目,選擇按鈕,然後右鍵單擊並選擇「編輯模板>編輯副本」。這會將現有模板複製到您可以修改的模板中。如果您在資源字典中創建它會更容易。

然後選擇模板,然後在資源選項卡(UI的右側)上選擇ButtonFocusVisual。選擇「屬性」選項卡並展開「其他」部分。這有BorderStyle和BorderThickness字段(等等)。將樣式設置爲無。

+0

我按照您的指南,但未能刪除邊框。我在這裏發佈問題http://stackoverflow.com/questions/4553692/how-to-remove-buttonchrome-border-when-defining-the-template-of-a-border。 請支持我們。 – 2010-12-29 14:04:13

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" /> 
+1

聖鬥丹!這是天才! – 2013-09-09 19:08:29

+1

需要注意的一點是,如果按鈕位於工具欄內,它將不起作用。 – 2017-01-11 15:28:34