2014-11-25 60 views
0

本來我有一個按鈕,並運行良好。現在我想轉彎。按鈕的bordesr是不可見的,沒有背景顏色

<Button Content="Start" x:Name="Start" Style="{StaticResource RoundButtonTemplate}" 
    HorizontalAlignment="Left" 
    Margin="20,20,0,0" 
    VerticalAlignment="Top" 
    Width="75" 
    Click="Start_Click"> 

在後面的代碼,我設置背景色爲:

Start.IsEnabled = false; 
Start.Background = Brushes.Red; 

在App.xaml中:

<Application.Resources> 
    <Style x:Key="RoundButtonTemplate" TargetType="Button"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Border CornerRadius="15"        BorderThickness="1"> 
         <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"> 

         </ContentPresenter> 
        </Border> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Application.Resources> 

現在的問題是:

  1. 背景顏色消失了。
  2. 按鈕的邊框不可見。

如何修改樣式?

+0

擺脫你的codebehind,添加'背景'和'IsEnabled'和'BorderBrush'到你的風格模板與默認設置,你會完成所有工作,並有做得正確。它不按預期的方式工作。 – 2014-11-25 14:43:38

+0

@ ChrisW.But我想通過不同的條件在代碼中動態地更改'Background'和'IsEnabled'。我只是想讓邊界轉彎,就是這樣。 – 2014-11-25 14:47:53

回答

0

看一看按鈕http://msdn.microsoft.com/de-de/library/ms753328%28v=vs.110%29.aspx

在你的風格定義爲「邊界」與圓角半徑的默認樣式,但沒有辦法恢復顏色。您應該使用{TemplateBinding Background}添加一個Background屬性,以便它綁定到您的按鈕的背景屬性(Start.Background)。

您可以隨時複製默認樣式並對其進行修改。你也應該看看模板綁定是如何工作:)