一、在资源字典中
1.设置渐变画刷
<!--设置渐变画刷-->
<RadialGradientBrush RadiusX="1" RadiusY="5" GradientOrigin="0.5, 0.3" x:Key="HighLight">
<GradientStop Color="White" Offset="0"></GradientStop>
<GradientStop Color="Green" Offset="0.4"></GradientStop>
</RadialGradientBrush>
2.设置控件模板
<ControlTemplate x:key="GraientButtonTemplate" TargetType="x:Type Button">
<Border Name="border1" BorderThicknes="10" BorderBrush="Black" Background={StaticResource HighLight}> <!--这里绑定的静态资源是前面设置的渐变画刷-->
<Grid>
<Retangle Fill="Blue" Stroke="Black" StrokeThickness="10"/> <!--这个是设置中间的线-->
</Grid>
</Border>
</ControlTemplate>
3.使用Style来给所有的按钮都加上这个样式
<Style TargetType="x:Type Button">
<Setter Property="Control.Template" value="{StaticReSource GraientButtonTemplate}">
</Style>
二、在C#代码中绑定wpf的CheckBox控件Checked为方法‘checked’
实现该方法
private void checked(object sender, RoutedEventArgs e) {
ResourceDictionary resourceDictionary = new ResourceDictionary();
resourceDictionary.Source = new Url("Resources/GradientBrush.xaml", UriKind.Relative);
this.Resource.MergedDictionaries[0] = resourceDictionary;
}
注: 如果是想要实现取消勾选CheckBox更换样式的就设置CheckBox控件的UnCheck属性绑定回一个原本样式的xaml资源字典