<Window x:Class="ControlTemplates.GradientButtonTest" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="GradientButtonTest" Height="280" Width="322" > <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Resources/GradientButton.xaml"></ResourceDictionary> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Window.Resources> <StackPanel> <Button Margin="10" Padding="5" Click="Clicked" Name="cmdOne" Background="AliceBlue" >A Simple Button with a Custom Template</Button> <Button Margin="10" Padding="5" Click="Clicked" Name="cmdTwo" >Another Button with a Custom Template</Button> <Button Margin="10" Padding="5" Click="Clicked" Name="cmdThree" >A _Third Button with a Custom Template</Button> <Button Margin="10" Padding="5" IsEnabled="False" Click="Clicked" Name="cmdFour" >A Disabled Button</Button> <CheckBox Margin="10" Checked="chkGreen_Checked" Unchecked="chkGreen_Unchecked">Use Alternate Theme</CheckBox> </StackPanel> </Window>
private void chkGreen_Checked(object sender, RoutedEventArgs e)
{
ResourceDictionary resourceDictionary = new ResourceDictionary();
resourceDictionary.Source = new Uri(
"Resources/GradientButtonVariant.xaml", UriKind.Relative);
this.Resources.MergedDictionaries[0] = resourceDictionary;
}
private void chkGreen_Unchecked(object sender, RoutedEventArgs e)
{
ResourceDictionary resourceDictionary = new ResourceDictionary();
resourceDictionary.Source = new Uri(
"Resources/GradientButton.xaml", UriKind.Relative);
this.Resources.MergedDictionaries[0] = resourceDictionary;
}
效果: