• ControlTemplate in WPF —— Calendar


    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                        mc:Ignorable="d">
    
    
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Shared.xaml" />
      </ResourceDictionary.MergedDictionaries>
    
      <!--Style for the days of a month.-->
      <Style TargetType="CalendarDayButton"
             x:Key="CalendarDayButtonStyle">
        <Setter Property="MinWidth"
                Value="5" />
        <Setter Property="MinHeight"
                Value="5" />
        <Setter Property="FontSize"
                Value="10" />
        <Setter Property="HorizontalContentAlignment"
                Value="Center" />
        <Setter Property="VerticalContentAlignment"
                Value="Center" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="CalendarDayButton">
              <Grid>
                <VisualStateManager.VisualStateGroups>
                  <VisualStateGroup Name="CommonStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0:0:0.1" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Normal" />
                    <VisualState Name="MouseOver">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="HighlightBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To="0.5"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                    <VisualState Name="Pressed">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="HighlightBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To="0.5"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                    <VisualState Name="Disabled">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="HighlightBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To="0"
                                         Duration="0" />
                        <DoubleAnimation Storyboard.TargetName="NormalText"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".35"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="SelectionStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Unselected" />
                    <VisualState Name="Selected">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="SelectedBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".75"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="CalendarButtonFocusStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="CalendarButtonFocused">
                      <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="DayButtonFocusVisual"
                                                       Storyboard.TargetProperty="Visibility"
                                                       Duration="0">
                          <DiscreteObjectKeyFrame KeyTime="0">
                            <DiscreteObjectKeyFrame.Value>
                              <Visibility>Visible</Visibility>
                            </DiscreteObjectKeyFrame.Value>
                          </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                      </Storyboard>
                    </VisualState>
                    <VisualState Name="CalendarButtonUnfocused">
                      <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="DayButtonFocusVisual"
                                                       Storyboard.TargetProperty="Visibility"
                                                       Duration="0">
                          <DiscreteObjectKeyFrame KeyTime="0">
                            <DiscreteObjectKeyFrame.Value>
                              <Visibility>Collapsed</Visibility>
                            </DiscreteObjectKeyFrame.Value>
                          </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="ActiveStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Active" />
                    <VisualState Name="Inactive">
                      <Storyboard>
                        <ColorAnimation Duration="0"
                                        Storyboard.TargetName="NormalText"
                                        Storyboard.TargetProperty="(TextElement.Foreground).
                            (SolidColorBrush.Color)"
                                        To="#FF777777" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="DayStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="RegularDay" />
                    <VisualState Name="Today">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="TodayBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To="1"
                                         Duration="0" />
                        <ColorAnimation Duration="0"
                                        Storyboard.TargetName="NormalText"
                                        Storyboard.TargetProperty="(TextElement.Foreground).
                            (SolidColorBrush.Color)"
                                        To="#FFFFFFFF" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="BlackoutDayStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="NormalDay" />
                    <VisualState Name="BlackoutDay">
                      <Storyboard>
                        <DoubleAnimation Duration="0"
                                         Storyboard.TargetName="Blackout"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".2" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Rectangle x:Name="TodayBackground"
                           RadiusX="1"
                           RadiusY="1"
                           Opacity="0">
                  <Rectangle.Fill>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Fill>
                </Rectangle>
                <Rectangle x:Name="SelectedBackground"
                           RadiusX="1"
                           RadiusY="1"
                           Opacity="0">
                  <Rectangle.Fill>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Fill>
                </Rectangle>
                <Border Background="{TemplateBinding Background}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        BorderBrush="{TemplateBinding BorderBrush}" />
                <Rectangle x:Name="HighlightBackground"
                           RadiusX="1"
                           RadiusY="1"
                           Opacity="0">
                  <Rectangle.Fill>
                    <SolidColorBrush Color="{DynamicResource ControlMouseOverColor}" />
                  </Rectangle.Fill>
                </Rectangle>
                <ContentPresenter x:Name="NormalText"
                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                  Margin="5,1,5,1">
                  <TextElement.Foreground>
                    <SolidColorBrush Color="#FF333333" />
                  </TextElement.Foreground>
                </ContentPresenter>
                <Path x:Name="Blackout"
                      Opacity="0"
                      Margin="3"
                      HorizontalAlignment="Stretch"
                      VerticalAlignment="Stretch"
                      RenderTransformOrigin="0.5,0.5"
                      Fill="#FF000000"
                      Stretch="Fill"
                      Data="M8.1772461,11.029181 L10.433105,
                        11.029181 L11.700684,12.801641 L12.973633,
                        11.029181 L15.191895,11.029181 L12.844727,
                        13.999395 L15.21875,17.060919 L12.962891,
                        17.060919 L11.673828,15.256231 L10.352539,
                        17.060919 L8.1396484,17.060919 L10.519043,
                        14.042364 z" />
                <Rectangle x:Name="DayButtonFocusVisual"
                           Visibility="Collapsed"
                           IsHitTestVisible="false"
                           RadiusX="1"
                           RadiusY="1">
                  <Rectangle.Stroke>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Stroke>
                </Rectangle>
              </Grid>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    
      <!--Style for the months of a year and years of a decade.-->
      <Style TargetType="CalendarButton"
             x:Key="CalendarButtonStyle">
        <Setter Property="MinWidth"
                Value="40" />
        <Setter Property="MinHeight"
                Value="42" />
        <Setter Property="FontSize"
                Value="10" />
        <Setter Property="HorizontalContentAlignment"
                Value="Center" />
        <Setter Property="VerticalContentAlignment"
                Value="Center" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="CalendarButton">
              <Grid>
                <VisualStateManager.VisualStateGroups>
                  <VisualStateGroup Name="CommonStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0:0:0.1" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Normal" />
                    <VisualState Name="MouseOver">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="Background"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".5"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                    <VisualState Name="Pressed">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="Background"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".5"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="SelectionStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Unselected" />
                    <VisualState Name="Selected">
                      <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="SelectedBackground"
                                         Storyboard.TargetProperty="Opacity"
                                         To=".75"
                                         Duration="0" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="ActiveStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="Active" />
                    <VisualState Name="Inactive">
                      <Storyboard>
                        <ColorAnimation Duration="0"
                                        Storyboard.TargetName="NormalText"
                                        Storyboard.TargetProperty="(TextElement.Foreground).
                            (SolidColorBrush.Color)"
                                        To="#FF777777" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                  <VisualStateGroup Name="CalendarButtonFocusStates">
                    <VisualStateGroup.Transitions>
                      <VisualTransition GeneratedDuration="0" />
                    </VisualStateGroup.Transitions>
                    <VisualState Name="CalendarButtonFocused">
                      <Storyboard>
                        <ObjectAnimationUsingKeyFrames Duration="0"
                                                       Storyboard.TargetName="CalendarButtonFocusVisual"
                                                       Storyboard.TargetProperty="Visibility">
                          <DiscreteObjectKeyFrame KeyTime="0">
                            <DiscreteObjectKeyFrame.Value>
                              <Visibility>Visible</Visibility>
                            </DiscreteObjectKeyFrame.Value>
                          </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                      </Storyboard>
                    </VisualState>
                    <VisualState Name="CalendarButtonUnfocused" />
                  </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Rectangle x:Name="SelectedBackground"
                           RadiusX="1"
                           RadiusY="1"
                           Opacity="0">
                  <Rectangle.Fill>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Fill>
                </Rectangle>
                <Rectangle x:Name="Background"
                           RadiusX="1"
                           RadiusY="1"
                           Opacity="0">
                  <Rectangle.Fill>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Fill>
                </Rectangle>
                <ContentPresenter x:Name="NormalText"
                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                  Margin="1,0,1,1">
                  <TextElement.Foreground>
                    <SolidColorBrush Color="#FF333333" />
                  </TextElement.Foreground>
                </ContentPresenter>
                <Rectangle x:Name="CalendarButtonFocusVisual"
                           Visibility="Collapsed"
                           IsHitTestVisible="false"
                           RadiusX="1"
                           RadiusY="1">
                  <Rectangle.Stroke>
                    <SolidColorBrush Color="{DynamicResource SelectedBackgroundColor}" />
                  </Rectangle.Stroke>
                </Rectangle>
              </Grid>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
        <Setter Property="Background">
          <Setter.Value>
            <SolidColorBrush Color="{DynamicResource ControlMediumColor}" />
          </Setter.Value>
        </Setter>
      </Style>
    
      <!--Button to go to the previous month or year.-->
      <ControlTemplate x:Key="PreviousButtonTemplate"
                       TargetType="{x:Type Button}">
        <Grid Cursor="Hand">
          <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="CommonStates">
              <VisualState x:Name="Normal" />
              <VisualState x:Name="MouseOver">
                <Storyboard>
                  <ColorAnimation Duration="0"
                                  Storyboard.TargetName="path"
                                  Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
                                  To="{DynamicResource GlyphMouseOver}" />
                </Storyboard>
              </VisualState>
              <VisualState x:Name="Disabled">
                <Storyboard>
                  <DoubleAnimation Duration="0"
                                   To=".5"
                                   Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)"
                                   Storyboard.TargetName="path" />
                </Storyboard>
              </VisualState>
            </VisualStateGroup>
          </VisualStateManager.VisualStateGroups>
          <!--<Rectangle Fill="Transparent" Opacity="1" Stretch="Fill"/>-->
          <Grid  Background="Transparent">
            <Path x:Name="path"
                  Margin="14,-6,0,0"
                  Stretch="Fill"
                  HorizontalAlignment="Left"
                  Height="10"
                  VerticalAlignment="Center"
                  Width="6"
                  Data="M288.75,232.25 L288.75,240.625 L283,236.625 z">
              <Path.Fill>
                <SolidColorBrush Color="{DynamicResource GlyphColor}" />
              </Path.Fill>
            </Path>
          </Grid>
        </Grid>
      </ControlTemplate>
    
      <!--Button to go to the next month or year.-->
      <ControlTemplate x:Key="NextButtonTemplate"
                       TargetType="{x:Type Button}">
        <Grid Cursor="Hand">
          <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="CommonStates">
              <VisualState x:Name="Normal" />
              <VisualState x:Name="MouseOver">
                <Storyboard>
                  <ColorAnimation Duration="0"
                                  To="{StaticResource GlyphMouseOver}"
                                  Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
                                  Storyboard.TargetName="path" />
                </Storyboard>
              </VisualState>
              <VisualState x:Name="Disabled">
                <Storyboard>
                  <DoubleAnimation Duration="0"
                                   To=".5"
                                   Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)"
                                   Storyboard.TargetName="path" />
                </Storyboard>
              </VisualState>
            </VisualStateGroup>
          </VisualStateManager.VisualStateGroups>
          <!--<Rectangle Fill="#11E5EBF1" Opacity="1" Stretch="Fill"/>-->
          <Grid Background="Transparent">
            <Path x:Name="path"
                  Data="M282.875,231.875 L282.875,240.375 L288.625,236 z"
                  HorizontalAlignment="Right"
                  Height="10"
                  Margin="0,-6,14,0"
                  Stretch="Fill"
                  VerticalAlignment="Center"
                  Width="6">
              <Path.Fill>
                <SolidColorBrush Color="{DynamicResource GlyphColor}" />
              </Path.Fill>
            </Path>
          </Grid>
        </Grid>
      </ControlTemplate>
    
      <!--Button to go up a level to the year or decade.-->
      <ControlTemplate x:Key="HeaderButtonTemplate"
                       TargetType="{x:Type Button}">
        <Grid Cursor="Hand">
          <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="CommonStates">
              <VisualState x:Name="Normal" />
              <VisualState x:Name="MouseOver">
                <Storyboard>
                  <ColorAnimation Duration="0"
                                  To="{DynamicResource GlyphMouseOver}"
                                  Storyboard.TargetProperty="(TextElement.Foreground).
                      (SolidColorBrush.Color)"
                                  Storyboard.TargetName="buttonContent" />
                </Storyboard>
              </VisualState>
              <VisualState x:Name="Disabled">
                <Storyboard>
                  <DoubleAnimation Duration="0"
                                   To=".5"
                                   Storyboard.TargetProperty="Opacity"
                                   Storyboard.TargetName="buttonContent" />
                </Storyboard>
              </VisualState>
            </VisualStateGroup>
          </VisualStateManager.VisualStateGroups>
          <ContentPresenter x:Name="buttonContent"
                            Margin="1,4,1,9"
                            ContentTemplate="{TemplateBinding ContentTemplate}"
                            Content="{TemplateBinding Content}"
                            TextElement.Foreground="#FF333333"
                            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
        </Grid>
      </ControlTemplate>
    
      <Style x:Key="CalendarItemStyle" TargetType="{x:Type CalendarItem}">
        <Setter Property="Margin"
                Value="0,3,0,3" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type CalendarItem}">
              <ControlTemplate.Resources>
                <DataTemplate x:Key="{x:Static CalendarItem.DayTitleTemplateResourceKey}">
                  <TextBlock Foreground="#FF333333"
                             FontWeight="Bold"
                             FontSize="9.5"
                             FontFamily="Verdana"
                             Margin="0,6,0,6"
                             Text="{Binding}"
                             HorizontalAlignment="Center"
                             VerticalAlignment="Center" />
                </DataTemplate>
              </ControlTemplate.Resources>
              <Grid x:Name="PART_Root">
                <Grid.Resources>
                  <SolidColorBrush x:Key="DisabledColor"
                                   Color="#A5FFFFFF" />
                </Grid.Resources>
                <VisualStateManager.VisualStateGroups>
                  <VisualStateGroup x:Name="CommonStates">
                    <VisualState x:Name="Normal" />
                    <VisualState x:Name="Disabled">
                      <Storyboard>
                        <DoubleAnimation Duration="0"
                                         To="1"
                                         Storyboard.TargetProperty="Opacity"
                                         Storyboard.TargetName="PART_DisabledVisual" />
                      </Storyboard>
                    </VisualState>
                  </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Border BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        Background="{TemplateBinding Background}"
                        CornerRadius="1">
                  <Border BorderBrush="#FFFFFFFF"
                          BorderThickness="2"
                          CornerRadius="1">
                    <Grid>
                      <Grid.Resources>
                      </Grid.Resources>
                      <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="Auto" />
                      </Grid.ColumnDefinitions>
                      <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                      </Grid.RowDefinitions>
                      <Button x:Name="PART_PreviousButton"
                              Template="{StaticResource PreviousButtonTemplate}"
                              Focusable="False"
                              HorizontalAlignment="Left"
                              Grid.Column="0"
                              Grid.Row="0"
                              Height="20"
                              Width="28" />
                      <Button x:Name="PART_HeaderButton"
                              FontWeight="Bold"
                              Focusable="False"
                              FontSize="10.5"
                              HorizontalAlignment="Center"
                              VerticalAlignment="Center"
                              Grid.Column="1"
                              Grid.Row="0"
                              Template="{StaticResource HeaderButtonTemplate}" />
                      <Button x:Name="PART_NextButton"
                              Focusable="False"
                              HorizontalAlignment="Right"
                              Grid.Column="2"
                              Grid.Row="0"
                              Template="{StaticResource NextButtonTemplate}"
                              Height="20"
                              Width="28" />
                      <Grid x:Name="PART_MonthView"
                            Visibility="Visible"
                            Grid.ColumnSpan="3"
                            Grid.Row="1"
                            Margin="6,-1,6,6"
                            HorizontalAlignment="Center">
                        <Grid.ColumnDefinitions>
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                        </Grid.RowDefinitions>
                      </Grid>
                      <Grid x:Name="PART_YearView"
                            Visibility="Hidden"
                            Grid.ColumnSpan="3"
                            Grid.Row="1"
                            HorizontalAlignment="Center"
                            Margin="6,-3,7,6">
                        <Grid.ColumnDefinitions>
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                          <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                          <RowDefinition Height="Auto" />
                        </Grid.RowDefinitions>
                      </Grid>
                    </Grid>
                  </Border>
                </Border>
                <Rectangle x:Name="PART_DisabledVisual"
                           Fill="{StaticResource DisabledColor}"
                           Opacity="0"
                           RadiusY="2"
                           RadiusX="2"
                           Stretch="Fill"
                           Stroke="{StaticResource DisabledColor}"
                           StrokeThickness="1"
                           Visibility="Collapsed" />
              </Grid>
              <ControlTemplate.Triggers>
                <Trigger Property="IsEnabled"
                         Value="False">
                  <Setter Property="Visibility"
                          TargetName="PART_DisabledVisual"
                          Value="Visible" />
                </Trigger>
                <DataTrigger Binding="{Binding DisplayMode, 
                    RelativeSource={RelativeSource FindAncestor, 
                    AncestorType={x:Type Calendar}}}"
                             Value="Year">
                  <Setter Property="Visibility"
                          TargetName="PART_MonthView"
                          Value="Hidden" />
                  <Setter Property="Visibility"
                          TargetName="PART_YearView"
                          Value="Visible" />
                </DataTrigger>
                <DataTrigger Binding="{Binding DisplayMode, 
                    RelativeSource={RelativeSource FindAncestor, 
                    AncestorType={x:Type Calendar}}}"
                             Value="Decade">
                  <Setter Property="Visibility"
                          TargetName="PART_MonthView"
                          Value="Hidden" />
                  <Setter Property="Visibility"
                          TargetName="PART_YearView"
                          Value="Visible" />
                </DataTrigger>
              </ControlTemplate.Triggers>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    
      <Style TargetType="{x:Type Calendar}">
        <Setter Property="CalendarButtonStyle"
                Value="{StaticResource CalendarButtonStyle}" />
        <Setter Property="CalendarDayButtonStyle"
                Value="{StaticResource CalendarDayButtonStyle}" />
        <Setter Property="CalendarItemStyle"
                Value="{StaticResource CalendarItemStyle}" />
        <Setter Property="Foreground"
                Value="#FF333333" />
        <Setter Property="Background">
          <Setter.Value>
            <LinearGradientBrush EndPoint="0.5,1"
                                 StartPoint="0.5,0">
    
              <!--The first two gradient stops specifies the background for 
                  the calendar's heading and navigation buttons.-->
              <GradientStop Color="{DynamicResource HeaderTopColor}"
                            Offset="0" />
              <GradientStop Color="{DynamicResource ControlMediumColor}"
                            Offset="0.16" />
    
              <!--The next gradient stop specifies the background for 
                  the calendar area.-->
              <GradientStop Color="{DynamicResource ControlLightColor}"
                            Offset="0.16" />
            </LinearGradientBrush>
          </Setter.Value>
        </Setter>
        <Setter Property="BorderBrush">
          <Setter.Value>
            <LinearGradientBrush EndPoint="0,1"
                                 StartPoint="0,0">
              <GradientStop Color="{DynamicResource BorderLightColor}"
                            Offset="0" />
              <GradientStop Color="{DynamicResource BorderDarkColor}"
                            Offset="1" />
            </LinearGradientBrush>
          </Setter.Value>
        </Setter>
        <Setter Property="BorderThickness"
                Value="1" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type Calendar}">
              <StackPanel x:Name="PART_Root"
                          HorizontalAlignment="Center">
                <CalendarItem x:Name="PART_CalendarItem"
                              BorderBrush="{TemplateBinding BorderBrush}"
                              BorderThickness="{TemplateBinding BorderThickness}"
                              Background="{TemplateBinding Background}"
                              Style="{TemplateBinding CalendarItemStyle}" />
              </StackPanel>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    </ResourceDictionary>
  • 相关阅读:
    IntelliJ IDEA给Serializable类加上自动的serialVersionUID
    对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
    mybatis 多对多
    unnamed not found for the web module
    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown error 1146
    Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.bj186.crm.pojo.User
    mybatis中配置中引入properties文件
    Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.bj186.crm.mapper.UserMapper.Integer
    Caused by: java.lang.ClassNotFoundException: Cannot find class: User
    ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/7410580.html
Copyright © 2020-2023  润新知