2013-11-28 96 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

你给按钮模板隐藏其背景。

将背景放到模板中的网格中。