2013-11-28 94 views
0

我有一個WPF應用程序。我正在嘗試自定義一個按鈕。我已部分實現,但我似乎無法將我的按鈕的背景設置爲RadialGradientBrush。我真的不明白我做錯了什麼。我也不想爲按鈕設置任何邊框。按鈕的WPF樣式模板

以下是我的代碼。如果我有財產背景的價值,它說令牌無效?

<Application.Resources> 
<RadialGradientBrush x:Key="brushSecurityButtRadial"> 
     <GradientStop Color="White" Offset="0"/> 
     <GradientStop Color="Blue" Offset="0.3"/> 
    </RadialGradientBrush> 

<!-- style for button --> 
    <Style x:Key="buttSecurity" TargetType="Button"> 
     <Setter Property="Margin" Value="1,2,1,2"/> 
     <Setter Property="HorizontalAlignment" Value="Center"/> 
     <Setter Property="Background" Value="brushSecurityButtRadial"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}">      
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition/> 
          <RowDefinition Height="2*"/> 
         </Grid.RowDefinitions> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition/> 
          <ColumnDefinition/> 
         </Grid.ColumnDefinitions> 
         <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="GBP/USD" Style="{StaticResource txtSecurity}"/> 
         <Image Grid.Row="1" Grid.Column="0" Source="C:\Users\Mark\Documents\Visual Studio 2012\Country Flags\ICO\GBP.ico"/> 
         <Image Grid.Row="1" Grid.Column="1" Source="C:\Users\Mark\Documents\Visual Studio 2012\Country Flags\ICO\USD.ico"/> 
        </Grid>    
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

</Application.Resources> 
+0

你有vs2012嗎?使用混合 – makc

+0

-1。用戶向您提供答案後,您不應該改變您的問題。你有兩個用戶可以正確回答你最初的問題,但是你沒有把他們標記爲正確的。如果用戶看到你這樣做,你會發現他們將在未來避免回答你的問題。事實上,你甚至沒有改變你問題中的文本(現在不這樣做),所以你的問題提出了一個問題,你接受的答案甚至不會試圖回答這個問題......如果我是你,我'd接受真正回答問題的原始答案之一。 – Sheridan

回答

0

你不能設置背景,因爲你有一個綁定錯誤,你應該在輸出窗口或同時使用窺探看到。 你也可以使用混合設置GradientBrush自動

<Setter Property="Background" Value="{StaticResource brushSecurityButtRadial}"/> 
+0

啊,這是我的愚蠢。它現在運行,但按鈕的顏色不是藍色或白色? – mHelpMe

1

嘗試

Value="{StaticResource brushSecurityButtRadial}" 
+0

啊,這是我的愚蠢。它現在運行,但按鈕的背部既不是藍色也不是白色? – mHelpMe

1

你給按鈕模板隱藏其背景。

將背景放到模板中的網格中。