我有一个WPF应用程序。我正在尝试自定义按钮。我已经部分实现了但是我似乎无法将我的按钮的背景设置为RadialGradientBrush。我真的看不出我做错了什么。我也不想要按钮的任何边框。
以下是我的代码。如果我有属性背景的值,它说令牌无效?
<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 :(得分:1)
试
Value="{StaticResource brushSecurityButtRadial}"
答案 1 :(得分:1)
您为该按钮提供的模板会隐藏其背景。
将背景放入模板中的网格。
答案 2 :(得分:0)
你无法设置背景,因为你有一个绑定错误,你应该在输出窗口或使用snoop时看到。
您也可以使用Blend自动设置GradientBrush
<Setter Property="Background" Value="{StaticResource brushSecurityButtRadial}"/>