Browse Source

tons of fun with theming.

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
26fec8df2a
  1. 94
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Chromes/Themes/Generic.xaml
  2. 5
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Themes/ResourceKeys.cs
  3. 1
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DropDownButton/Themes/Generic.xaml
  4. 2
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/SplitButton/Themes/Generic.xaml
  5. 11
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Aero/Brushes_NormalColor.xaml
  6. 34
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Aero/Buttons_NormalColor.xaml
  7. 24
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Brushes.xaml
  8. 39
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Buttons.xaml
  9. 11
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Glyphs.xaml

94
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Chromes/Themes/Generic.xaml

@ -1,98 +1,38 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chrome="clr-namespace:Microsoft.Windows.Controls.Chromes" xmlns:chrome="clr-namespace:Microsoft.Windows.Controls.Chromes"
xmlns:local="clr-namespace:Microsoft.Windows.Controls" > xmlns:local="clr-namespace:Microsoft.Windows.Controls"
xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes">
<!-- =============================================================================== --> <!-- =============================================================================== -->
<!-- ButtonChrome --> <!-- ButtonChrome -->
<!-- =============================================================================== --> <!-- =============================================================================== -->
<CornerRadius x:Key="ControlOuterBorderCornerRadius">2.75</CornerRadius>
<CornerRadius x:Key="ControlInnerBorderCornerRadius">1.75</CornerRadius>
<!-- Normal -->
<SolidColorBrush x:Key="ControlOuterBorder_Normal" Color="#FF707070" />
<LinearGradientBrush x:Key="ControlInnerBorder_Normal" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ControlBackground_Normal" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#F3F3F3" Offset="0"/>
<GradientStop Color="#EBEBEB" Offset="0.5"/>
<GradientStop Color="#DDDDDD" Offset="0.5"/>
<GradientStop Color="#CDCDCD" Offset="1"/>
</LinearGradientBrush>
<!--Mouse Over-->
<SolidColorBrush x:Key="ControlOuterBorder_MouseOver" Color="#3C7FB1" />
<LinearGradientBrush x:Key="ControlInnerBorder_MouseOver" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ControlBackground_MouseOver" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFEAF6FD" Offset="0"/>
<GradientStop Color="#FFD9F0FC" Offset="0.50"/>
<GradientStop Color="#FFBEE6FD" Offset="0.50"/>
<GradientStop Color="#FFA7D9F5" Offset="1"/>
</LinearGradientBrush>
<!-- Pressed -->
<SolidColorBrush x:Key="ControlOuterBorder_Pressed" Color="#2C628B" />
<LinearGradientBrush x:Key="ControlInnerBorder_Pressed" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ControlBackground_Pressed" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#C2E4F6" Offset="0.5"/>
<GradientStop Color="#ABDAF3" Offset="0.5"/>
<GradientStop Color="#90CBEB" Offset="1"/>
</LinearGradientBrush>
<!-- Focused -->
<SolidColorBrush x:Key="ControlOuterBorder_Focused" Color="#FF707070" />
<SolidColorBrush x:Key="ControlInnerBorder_Focused" Color="#F900CCFF" />
<LinearGradientBrush x:Key="ControlBackground_Focused" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFEAF6FD" Offset="0"/>
<GradientStop Color="#FFD9F0FC" Offset="0.50"/>
<GradientStop Color="#FFBEE6FD" Offset="0.50"/>
<GradientStop Color="#FFA7D9F5" Offset="1"/>
</LinearGradientBrush>
<!-- Disabled -->
<SolidColorBrush x:Key="ControlOuterBorder_Disabled" Color="#ADB2B5" />
<LinearGradientBrush x:Key="ControlInnerBorder_Disabled" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ControlBackground_Disabled" Color="#F4F4F4" />
<Style TargetType="{x:Type chrome:ButtonChrome}"> <Style TargetType="{x:Type chrome:ButtonChrome}">
<Setter Property="IsTabStop" Value="False" /> <Setter Property="IsTabStop" Value="False" />
<Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" /> <Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Background" Value="{StaticResource ControlBackground_Normal}" /> <Setter Property="Background" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonNormalBackgroundKey}}" />
<Setter Property="BorderBrush" Value="{StaticResource ControlOuterBorder_Normal}" /> <Setter Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonNormalOuterBorderKey}}" />
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="{StaticResource ControlOuterBorderCornerRadius}" />
<Setter Property="InnerCornerRadius" Value="{StaticResource ControlInnerBorderCornerRadius}" />
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type chrome:ButtonChrome}"> <ControlTemplate TargetType="{x:Type chrome:ButtonChrome}">
<Grid> <Grid>
<Border x:Name="OuterBorder" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}"> <Border x:Name="OuterBorder" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<Border x:Name="InnerBorder" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{StaticResource ControlInnerBorder_Normal}" /> <Border x:Name="InnerBorder" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonNormalInnerBorderKey}}" />
</Border> </Border>
<Border x:Name="MouseOverVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{StaticResource ControlOuterBorder_MouseOver}" Background="{StaticResource ControlBackground_MouseOver}"> <Border x:Name="MouseOverVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverOuterBorderKey}}" Background="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverBackgroundKey}}">
<Border x:Name="MouseOverInnerVisual" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{StaticResource ControlInnerBorder_MouseOver}" /> <Border x:Name="MouseOverInnerVisual" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverInnerBorderKey}}" />
</Border> </Border>
<Border x:Name="PressedVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{StaticResource ControlOuterBorder_Pressed}" Background="{StaticResource ControlBackground_Pressed}"> <Border x:Name="PressedVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedOuterBorderKey}}" Background="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedBackgroundKey}}">
<Border x:Name="PressedInnerVisual" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{StaticResource ControlInnerBorder_Pressed}" /> <Border x:Name="PressedInnerVisual" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedInnerBorderKey}}" />
</Border> </Border>
<Border x:Name="FocusVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{StaticResource ControlOuterBorder_Focused}" Background="{StaticResource ControlBackground_Focused}"> <Border x:Name="FocusVisual" Opacity="0" Visibility="Collapsed" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonFocusedOuterBorderKey}}" Background="{DynamicResource {x:Static themes:ResourceKeys.ButtonFocusedBackgroundKey}}">
<Border x:Name="FocusInnerVisual" BorderThickness="1" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{StaticResource ControlInnerBorder_Focused}" /> <Border x:Name="FocusInnerVisual" BorderThickness="1" CornerRadius="{TemplateBinding InnerCornerRadius}" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonFocusedInnerBorderKey}}" />
</Border> </Border>
<ContentPresenter Margin="{TemplateBinding Padding}" <ContentPresenter Margin="{TemplateBinding Padding}"
@ -111,9 +51,9 @@
<Condition Property="RenderEnabled" Value="False" /> <Condition Property="RenderEnabled" Value="False" />
<Condition Property="RenderChecked" Value="False" /> <Condition Property="RenderChecked" Value="False" />
</MultiTrigger.Conditions> </MultiTrigger.Conditions>
<Setter TargetName="OuterBorder" Property="BorderBrush" Value="{StaticResource ControlOuterBorder_Disabled}" /> <Setter TargetName="OuterBorder" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonDisabledOuterBorderKey}}" />
<Setter TargetName="InnerBorder" Property="BorderBrush" Value="{StaticResource ControlInnerBorder_Disabled}" /> <Setter TargetName="InnerBorder" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonInnerBorderDisabledKey}}" />
<Setter TargetName="OuterBorder" Property="Background" Value="{StaticResource ControlBackground_Disabled}" /> <Setter TargetName="OuterBorder" Property="Background" Value="{DynamicResource {x:Static themes:ResourceKeys.ControlDisabledBackgroundKey}}" />
</MultiTrigger> </MultiTrigger>
<!-- if button is enabled and pressed --> <!-- if button is enabled and pressed -->
@ -206,9 +146,9 @@
<Condition Property="RenderMouseOver" Value="False" /> <Condition Property="RenderMouseOver" Value="False" />
<Condition Property="RenderPressed" Value="False" /> <Condition Property="RenderPressed" Value="False" />
</MultiTrigger.Conditions> </MultiTrigger.Conditions>
<Setter TargetName="OuterBorder" Property="BorderBrush" Value="{StaticResource ControlOuterBorder_Pressed}" /> <Setter TargetName="OuterBorder" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedOuterBorderKey}}" />
<Setter TargetName="InnerBorder" Property="BorderBrush" Value="{StaticResource ControlInnerBorder_Pressed}" /> <Setter TargetName="InnerBorder" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedInnerBorderKey}}" />
<Setter TargetName="OuterBorder" Property="Background" Value="{StaticResource ControlBackground_Pressed}" /> <Setter TargetName="OuterBorder" Property="Background" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedBackgroundKey}}" />
</MultiTrigger> </MultiTrigger>
<!-- if button is focused, is enabled, not pressed, and the mouse is not over --> <!-- if button is focused, is enabled, not pressed, and the mouse is not over -->

5
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Core/Themes/ResourceKeys.cs

@ -25,7 +25,12 @@ namespace Microsoft.Windows.Controls.Themes
public static readonly ResourceKey ButtonPressedInnerBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonPressedInnerBorderKey"); public static readonly ResourceKey ButtonPressedInnerBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonPressedInnerBorderKey");
public static readonly ResourceKey ButtonPressedBackgroundKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonPressedBackgroundKey"); public static readonly ResourceKey ButtonPressedBackgroundKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonPressedBackgroundKey");
public static readonly ResourceKey ButtonFocusedOuterBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonFocusedOuterBorderKey");
public static readonly ResourceKey ButtonFocusedInnerBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonFocusedInnerBorderKey");
public static readonly ResourceKey ButtonFocusedBackgroundKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonFocusedBackgroundKey");
public static readonly ResourceKey ButtonDisabledOuterBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonDisabledOuterBorderKey"); public static readonly ResourceKey ButtonDisabledOuterBorderKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonDisabledOuterBorderKey");
public static readonly ResourceKey ButtonInnerBorderDisabledKey = new StaticResourceKey(typeof(ResourceKeys), "ButtonInnerBorderDisabledKey");
#endregion //Brush Keys #endregion //Brush Keys

1
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DropDownButton/Themes/Generic.xaml

@ -42,6 +42,7 @@
</ToggleButton.Template> </ToggleButton.Template>
<Grid> <Grid>
<chrome:ButtonChrome x:Name="ToggleButtonChrome" <chrome:ButtonChrome x:Name="ToggleButtonChrome"
CornerRadius="2.75"
RenderChecked="{TemplateBinding IsOpen}" RenderChecked="{TemplateBinding IsOpen}"
RenderEnabled="{TemplateBinding IsEnabled}" RenderEnabled="{TemplateBinding IsEnabled}"
RenderMouseOver="{Binding IsMouseOver, ElementName=PART_DropDownButton}" RenderMouseOver="{Binding IsMouseOver, ElementName=PART_DropDownButton}"

2
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/SplitButton/Themes/Generic.xaml

@ -36,7 +36,7 @@
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type local:SplitButton}"> <ControlTemplate TargetType="{x:Type local:SplitButton}">
<Grid x:Name="MainGrid" SnapsToDevicePixels="True"> <Grid x:Name="MainGrid" SnapsToDevicePixels="True">
<chrome:ButtonChrome x:Name="ControlChrome" RenderEnabled="{TemplateBinding IsEnabled}"> <chrome:ButtonChrome x:Name="ControlChrome" RenderEnabled="{TemplateBinding IsEnabled}" CornerRadius="2.75">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />

11
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Aero/Brushes_NormalColor.xaml

@ -103,5 +103,16 @@
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
<LinearGradientBrush PresentationOptions:Freeze="true" x:Key="{x:Static themes:ResourceKeys.ButtonFocusedOuterBorderKey}" StartPoint="0.5,0" EndPoint="0.5,1">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#FF3d7bad" Offset="0" />
<GradientStop Color="#FFa4c9e3" Offset="0.05000000074505806" />
<GradientStop Color="#FFa4c9e3" Offset="0.949999988079071" />
<GradientStop Color="#FFb7d9ed" Offset="1" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ResourceDictionary> </ResourceDictionary>

34
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Aero/Buttons_NormalColor.xaml

@ -1,6 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes"> xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes"
xmlns:chrome="clr-namespace:Microsoft.Windows.Controls.Chromes">
<Style x:Key="{x:Static themes:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton"> <Style x:Key="{x:Static themes:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
@ -10,24 +11,19 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="RepeatButton"> <ControlTemplate TargetType="RepeatButton">
<Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}" > <Grid>
<Grid> <chrome:ButtonChrome x:Name="Chrome"
<Border x:Name="innerBd" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}"/> BorderBrush="{TemplateBinding BorderBrush}"
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/> Background="{TemplateBinding Background}"
</Grid> CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}"
</Border> RenderEnabled="{TemplateBinding IsEnabled}"
<ControlTemplate.Triggers> RenderMouseOver="{TemplateBinding IsMouseOver}"
<Trigger Property="IsMouseOver" Value="True"> RenderNormal="False"
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverBackgroundKey}}"/> RenderPressed="{TemplateBinding IsPressed}"
<Setter Property="BorderBrush" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverOuterBorderKey}}"/> SnapsToDevicePixels="true" />
<Setter Property="BorderBrush" TargetName="innerBd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverInnerBorderKey}}"/>
</Trigger> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/>
<Trigger Property="IsPressed" Value="True"> </Grid>
<Setter Property="BorderBrush" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedOuterBorderKey}}"/>
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedBackgroundKey}}"/>
<Setter Property="BorderBrush" TargetName="innerBd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedInnerBorderKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate> </ControlTemplate>
</Setter.Value> </Setter.Value>
</Setter> </Setter>

24
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Brushes.xaml

@ -31,9 +31,7 @@
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonNormalOuterBorderKey}" Color="#FF707070" PresentationOptions:Freeze="true"/> <SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonNormalOuterBorderKey}" Color="#FF707070" PresentationOptions:Freeze="true"/>
<LinearGradientBrush x:Key="{x:Static themes:ResourceKeys.ButtonNormalInnerBorderKey}" EndPoint="0,1" StartPoint="0,0" PresentationOptions:Freeze="true"> <LinearGradientBrush x:Key="{x:Static themes:ResourceKeys.ButtonNormalInnerBorderKey}" EndPoint="0,1" StartPoint="0,0" PresentationOptions:Freeze="true">
@ -90,16 +88,24 @@
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonFocusedOuterBorderKey}" Color="#FF707070" PresentationOptions:Freeze="true"/>
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonFocusedInnerBorderKey}" Color="#F900CCFF" PresentationOptions:Freeze="true"/>
<LinearGradientBrush x:Key="{x:Static themes:ResourceKeys.ButtonFocusedBackgroundKey}" EndPoint="0,1" StartPoint="0,0" PresentationOptions:Freeze="true">
<GradientStop Color="#FFEAF6FD" Offset="0"/>
<GradientStop Color="#FFD9F0FC" Offset="0.50"/>
<GradientStop Color="#FFBEE6FD" Offset="0.50"/>
<GradientStop Color="#FFA7D9F5" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonDisabledOuterBorderKey}" Color="#ADB2B5" PresentationOptions:Freeze="true"/> <SolidColorBrush x:Key="{x:Static themes:ResourceKeys.ButtonDisabledOuterBorderKey}" Color="#ADB2B5" PresentationOptions:Freeze="true"/>
<LinearGradientBrush x:Key="{x:Static themes:ResourceKeys.ButtonInnerBorderDisabledKey}" EndPoint="0,1" StartPoint="0,0" PresentationOptions:Freeze="true">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush PresentationOptions:Freeze="true" x:Key="{x:Static themes:ResourceKeys.GlyphNormalForegroundKey}" Color="#FF000000" /> <SolidColorBrush PresentationOptions:Freeze="true" x:Key="{x:Static themes:ResourceKeys.GlyphNormalForegroundKey}" Color="#FF000000" />
<SolidColorBrush PresentationOptions:Freeze="true" x:Key="{x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}" Color="#A9A9A9" /> <SolidColorBrush PresentationOptions:Freeze="true" x:Key="{x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}" Color="#A9A9A9" />
<CornerRadius x:Key="{x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}" TopLeft="0" TopRight="0" BottomRight="0" BottomLeft="0" PresentationOptions:Freeze="true" /> <CornerRadius x:Key="{x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}" TopLeft="0" TopRight="0" BottomRight="0" BottomLeft="0" PresentationOptions:Freeze="true" />
<!-- not used yet -->
<LinearGradientBrush x:Key="ButtonInnerBorderDisabledKey" EndPoint="0,1" StartPoint="0,0" PresentationOptions:Freeze="true">
<GradientStop Color="#FAFFFFFF" Offset="0"/>
<GradientStop Color="#85FFFFFF" Offset="1"/>
</LinearGradientBrush>
</ResourceDictionary> </ResourceDictionary>

39
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Buttons.xaml

@ -1,6 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes"> xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes"
xmlns:chrome="clr-namespace:Microsoft.Windows.Controls.Chromes">
<Style x:Key="{x:Static themes:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton"> <Style x:Key="{x:Static themes:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton">
<Setter Property="BorderThickness" Value="1"/> <Setter Property="BorderThickness" Value="1"/>
@ -8,29 +9,19 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="RepeatButton"> <ControlTemplate TargetType="RepeatButton">
<Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}" SnapsToDevicePixels="True" > <Grid>
<Grid> <chrome:ButtonChrome x:Name="Chrome"
<Border x:Name="innerBd" BorderBrush="{DynamicResource {x:Static themes:ResourceKeys.ButtonNormalInnerBorderKey}}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}"/> BorderBrush="{TemplateBinding BorderBrush}"
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/> Background="{TemplateBinding Background}"
</Grid> CornerRadius="{DynamicResource {x:Static themes:ResourceKeys.SpinButtonCornerRadiusKey}}"
</Border> RenderEnabled="{TemplateBinding IsEnabled}"
<ControlTemplate.Triggers> RenderMouseOver="{TemplateBinding IsMouseOver}"
<Trigger Property="IsMouseOver" Value="True"> RenderNormal="True"
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverBackgroundKey}}"/> RenderPressed="{TemplateBinding IsPressed}"
<Setter Property="BorderBrush" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverOuterBorderKey}}"/> SnapsToDevicePixels="true" />
<Setter Property="BorderBrush" TargetName="innerBd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonMouseOverInnerBorderKey}}"/>
</Trigger> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/>
<Trigger Property="IsPressed" Value="True"> </Grid>
<Setter Property="BorderBrush" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedOuterBorderKey}}"/>
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedBackgroundKey}}"/>
<Setter Property="BorderBrush" TargetName="innerBd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonPressedInnerBorderKey}}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ControlDisabledBackgroundKey}}" />
<Setter Property="BorderBrush" TargetName="Bd" Value="{DynamicResource {x:Static themes:ResourceKeys.ButtonDisabledOuterBorderKey}}"/>
<Setter Property="BorderBrush" TargetName="innerBd" Value="{x:Null}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate> </ControlTemplate>
</Setter.Value> </Setter.Value>
</Setter> </Setter>

11
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Themes/Generic/Glyphs.xaml

@ -2,11 +2,14 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes" > xmlns:themes="clr-namespace:Microsoft.Windows.Controls.Themes" >
<Geometry x:Key="UpArrowGeometry">M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z</Geometry>
<Geometry x:Key="DownArrowGeometry">M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z</Geometry>
<DataTemplate x:Key="IncreaseGlyphNormalKey"> <DataTemplate x:Key="IncreaseGlyphNormalKey">
<Path <Path
Width="7" Width="7"
Height="4" Height="4"
Data="M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z" Data="{StaticResource UpArrowGeometry}"
Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphNormalForegroundKey}}" Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphNormalForegroundKey}}"
SnapsToDevicePixels="True" SnapsToDevicePixels="True"
HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" /> HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" />
@ -15,7 +18,7 @@
<Path <Path
Width="7" Width="7"
Height="4" Height="4"
Data="M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z" Data="{StaticResource UpArrowGeometry}"
Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}}" Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}}"
SnapsToDevicePixels="True" SnapsToDevicePixels="True"
HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" /> HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" />
@ -25,7 +28,7 @@
<Path <Path
Width="7" Width="7"
Height="4" Height="4"
Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Data="{StaticResource DownArrowGeometry}"
Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphNormalForegroundKey}}" Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphNormalForegroundKey}}"
SnapsToDevicePixels="True" SnapsToDevicePixels="True"
HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" /> HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" />
@ -35,7 +38,7 @@
<Path <Path
Width="7" Width="7"
Height="4" Height="4"
Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Data="{StaticResource DownArrowGeometry}"
Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}}" Fill="{DynamicResource {x:Static themes:ResourceKeys.GlyphDisabledForegroundKey}}"
SnapsToDevicePixels="True" SnapsToDevicePixels="True"
HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" /> HorizontalAlignment="Center" VerticalAlignment="Center" Focusable="False" />

Loading…
Cancel
Save