Themes/MaterialDesignTheme.Calendar.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:converters="clr-namespace:MaterialDesignThemes.Wpf.Converters" xmlns:globalization="clr-namespace:System.Globalization;assembly=mscorlib" xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf"> <Style x:Key="MaterialDesignCalendarButton" TargetType="{x:Type CalendarButton}"> <Setter Property="Background" Value="Transparent" /> <Setter Property="Cursor" Value="Hand" /> <Setter Property="FontSize" Value="12" /> <Setter Property="Height" Value="48" /> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="Margin" Value="2" /> <Setter Property="MinHeight" Value="5" /> <Setter Property="MinWidth" Value="5" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type CalendarButton}"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.1" /> </VisualStateGroup.Transitions> <VisualState x:Name="Normal" /> <VisualState x:Name="MouseOver"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightBackground" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0" /> </Storyboard> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightBackground" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0" /> </Storyboard> </VisualState> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightBackground" Storyboard.TargetProperty="Opacity" To="0" Duration="0" /> <DoubleAnimation Storyboard.TargetName="NormalText" Storyboard.TargetProperty="Opacity" To=".38" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="SelectionStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="Unselected" /> <VisualState x:Name="Selected"> <Storyboard> <DoubleAnimation Storyboard.TargetName="SelectedBackground" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="CalendarButtonFocusStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x: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 x: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 x:Name="ActiveStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="Active" /> <VisualState x:Name="Inactive" /> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Rectangle x:Name="TodayBackground" Height="30" Fill="{TemplateBinding wpf:CalendarAssist.SelectionColor}" Opacity="0" RadiusX="15" RadiusY="15" /> <Rectangle x:Name="SelectedBackground" Height="30" Fill="{TemplateBinding wpf:CalendarAssist.SelectionColor}" Opacity="0" RadiusX="15" RadiusY="15" /> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" /> <Rectangle x:Name="HighlightBackground" Height="30" Fill="{TemplateBinding wpf:CalendarAssist.SelectionColor}" Opacity="0" RadiusX="15" RadiusY="15" /> <ContentPresenter x:Name="NormalText" Margin="5,1,5,1" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" TextElement.Foreground="{TemplateBinding wpf:CalendarAssist.SelectionForegroundColor}" /> <Rectangle x:Name="DayButtonFocusVisual" Height="30" Opacity="0" RadiusX="15" RadiusY="15" Stroke="{TemplateBinding wpf:CalendarAssist.SelectionColor}" StrokeThickness="1" Visibility="Collapsed" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="HasSelectedDays" Value="False"> <Setter TargetName="NormalText" Property="TextElement.Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" /> </Trigger> <Trigger Property="IsInactive" Value="True"> <Setter TargetName="NormalText" Property="Opacity" Value="0.56" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="MinWidth" Value="48" /> <Setter Property="wpf:CalendarAssist.SelectionColor" Value="{DynamicResource MaterialDesign.Brush.Primary}" /> <Setter Property="wpf:CalendarAssist.SelectionForegroundColor" Value="{DynamicResource MaterialDesign.Brush.Primary.Foreground}" /> </Style> <Style x:Key="MaterialDesignCalendarDayButton" TargetType="{x:Type CalendarDayButton}"> <Setter Property="Cursor" Value="Hand" /> <Setter Property="FontSize" Value="12" /> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="Margin" Value="2" /> <Setter Property="MinHeight" Value="5" /> <Setter Property="MinWidth" Value="5" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type CalendarDayButton}"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.1" /> </VisualStateGroup.Transitions> <VisualState x:Name="Normal" /> <VisualState x:Name="MouseOver"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightingBorder" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0" /> </Storyboard> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightingBorder" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="SelectionStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="Unselected" /> <VisualState x:Name="Selected"> <Storyboard> <DoubleAnimation Storyboard.TargetName="SelectedBackground" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="CalendarButtonFocusStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x: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 x: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 x:Name="ActiveStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="Active" /> <VisualState x:Name="Inactive" /> </VisualStateGroup> <VisualStateGroup x:Name="DayStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="RegularDay" /> <VisualState x:Name="Today"> <Storyboard> <DoubleAnimation Storyboard.TargetName="TodayBackground" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="BlackoutDayStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0" /> </VisualStateGroup.Transitions> <VisualState x:Name="NormalDay" /> <VisualState x:Name="BlackoutDay"> <Storyboard> <DoubleAnimation Storyboard.TargetName="HighlightBackground" Storyboard.TargetProperty="Opacity" To="0" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Ellipse x:Name="TodayBackground" Fill="Transparent" Opacity="0" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" /> <Ellipse x:Name="SelectedBackground" Fill="{TemplateBinding wpf:CalendarAssist.SelectionColor}" Opacity="0" /> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" /> <Border x:Name="HighlightingBorder" Opacity="0"> <Ellipse x:Name="HighlightBackground" Fill="{TemplateBinding wpf:CalendarAssist.SelectionColor}" Opacity="1" /> </Border> <ContentPresenter x:Name="NormalText" Margin="5,1,5,1" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" TextElement.Foreground="{TemplateBinding wpf:CalendarAssist.SelectionForegroundColor}" /> <Ellipse x:Name="DayButtonFocusVisual" Opacity="0" Stroke="{TemplateBinding wpf:CalendarAssist.SelectionColor}" StrokeThickness="1" Visibility="Collapsed" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="False"> <Setter TargetName="NormalText" Property="TextElement.Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" /> </Trigger> <Trigger Property="IsInactive" Value="True"> <Setter TargetName="NormalText" Property="Opacity" Value="0.56" /> </Trigger> <Trigger Property="IsBlackedOut" Value="True"> <Setter TargetName="NormalText" Property="Opacity" Value="0.38" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="MinWidth" Value="28" /> <Setter Property="MinHeight" Value="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"/> <Setter Property="wpf:CalendarAssist.SelectionColor" Value="{DynamicResource MaterialDesign.Brush.Primary}" /> <Setter Property="wpf:CalendarAssist.SelectionForegroundColor" Value="{DynamicResource MaterialDesign.Brush.Primary.Foreground}" /> <Style.Triggers> <Trigger Property="IsBlackedOut" Value="True"> <Setter Property="Cursor" Value="Arrow" /> </Trigger> </Style.Triggers> </Style> <Style x:Key="MaterialDesignCalendarItemPortrait" TargetType="{x:Type CalendarItem}"> <Setter Property="BorderThickness" Value="0" /> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type CalendarItem}"> <ControlTemplate.Resources> <SineEase x:Key="EasingFunction" EasingMode="EaseOut" /> <CubicEase x:Key="EasingFunctionIn" EasingMode="EaseIn" /> <DataTemplate x:Key="{x:Static CalendarItem.DayTitleTemplateResourceKey}"> <TextBlock Margin="0,6,0,6" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="9.5" FontWeight="Bold" Opacity="0.65" Text="{Binding [0]}" /> </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 Storyboard.TargetName="PART_DisabledVisual" Storyboard.TargetProperty="Opacity" To="1" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <wpf:Card Padding="0,-1,0,0" wpf:ElevationAssist.Elevation="{TemplateBinding wpf:ElevationAssist.Elevation}" Background="{TemplateBinding Background}" ClipContent="True" UniformCornerRadius="2"> <Grid RenderOptions.ClearTypeHint="Enabled"> <Grid.Resources> <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" /> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Storyboard.TargetName="path" Storyboard.TargetProperty="Opacity" To=".56" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <wpf:Ripple HorizontalAlignment="Center" VerticalAlignment="Center"> <Viewbox Height="12" Margin="8"> <Path x:Name="path" Data="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z" Fill="{TemplateBinding Foreground}" Stretch="Fill" /> </Viewbox> </wpf:Ripple> </Grid> </ControlTemplate> <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" /> <VisualState x:Name="Disabled"> <Storyboard> <DoubleAnimation Storyboard.TargetName="path" Storyboard.TargetProperty="Opacity" To=".5" Duration="0" /> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <wpf:Ripple HorizontalAlignment="Center" VerticalAlignment="Center"> <Viewbox Height="12" Margin="8"> <Path x:Name="path" Data="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" Fill="{TemplateBinding Foreground}" Stretch="Fill" /> </Viewbox> </wpf:Ripple> </Grid> </ControlTemplate> <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" /> <VisualState x:Name="Disabled" /> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <wpf:MaterialDateDisplay x:Name="buttonContent" wpf:CalendarAssist.Orientation="{TemplateBinding wpf:CalendarAssist.Orientation}" Foreground="{TemplateBinding Foreground}" IsEnabled="{TemplateBinding IsEnabled}"> <wpf:MaterialDateDisplay.DisplayDate> <MultiBinding Mode="OneWay" Converter="{x:Static converters:CalendarDateCoalesceConverter.Instance}"> <Binding Path="DisplayDate" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Calendar}}" /> <Binding Path="SelectedDate" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Calendar}}" /> </MultiBinding> </wpf:MaterialDateDisplay.DisplayDate> </wpf:MaterialDateDisplay> </Grid> </ControlTemplate> </Grid.Resources> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Border x:Name="HeaderBorder" Grid.Row="0" Grid.RowSpan="1" Grid.Column="0" Grid.ColumnSpan="4" Background="{TemplateBinding wpf:CalendarAssist.HeaderBackground}" /> <Button x:Name="PART_HeaderButton" Grid.Row="0" Grid.RowSpan="1" Grid.Column="0" Grid.ColumnSpan="4" Height="Auto" Margin="20,15" HorizontalAlignment="Left" VerticalAlignment="Center" wpf:CalendarAssist.Orientation="{TemplateBinding wpf:CalendarAssist.Orientation}" Focusable="False" FontSize="10.5" FontWeight="Bold" Foreground="{TemplateBinding wpf:CalendarAssist.HeaderForeground}" Template="{StaticResource HeaderButtonTemplate}" Visibility="{TemplateBinding wpf:CalendarAssist.IsHeaderVisible, Converter={x:Static converters:BooleanToVisibilityConverter.CollapsedInstance}}" /> <TextBlock x:Name="CurrentDateTextBlock" Grid.Row="1" Grid.Column="1" Margin="13,8,8,8" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="14" FontWeight="SemiBold" Opacity="0.56" RenderTransformOrigin="0, 0.5"> <TextBlock.Text> <MultiBinding Converter="{x:Static converters:CalendarYearMonthConverter.Instance}"> <Binding Path="DisplayDate" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Calendar}}" /> <Binding Path="Language" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Calendar}}" /> </MultiBinding> </TextBlock.Text> <TextBlock.RenderTransform> <TranslateTransform X="0" Y="0" /> </TextBlock.RenderTransform> </TextBlock> <Button x:Name="PART_PreviousButton" Grid.Row="1" Grid.Column="2" Width="32" Height="36" Margin="3,0" HorizontalAlignment="Left" Focusable="False" Foreground="{TemplateBinding Foreground}" Opacity="0.56" Template="{StaticResource PreviousButtonTemplate}" /> <Button x:Name="PART_NextButton" Grid.Row="1" Grid.Column="3" Width="32" Height="36" Margin="3,0" HorizontalAlignment="Right" Focusable="False" Foreground="{TemplateBinding Foreground}" Opacity="0.56" Template="{StaticResource NextButtonTemplate}" /> <Grid x:Name="MonthViewWrapperGrid" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Margin="6,-1,6,6" HorizontalAlignment="Center" VerticalAlignment="Top"> <Border x:Name="PART_MonthViewCopy" Margin="4,7,4,3" Opacity="0" RenderTransformOrigin="0, 0.5"> <Border.Background> <VisualBrush Stretch="UniformToFill" Visual="{Binding ElementName=PART_MonthView}" /> </Border.Background> <Border.RenderTransform> <TranslateTransform X="0" /> </Border.RenderTransform> </Border> <Grid x:Name="PART_MonthView" IsSharedSizeScope="True" Opacity="1" RenderTransformOrigin="0, 0.5"> <Grid.RenderTransform> <TranslateTransform X="0" /> </Grid.RenderTransform> <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 SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> <RowDefinition SharedSizeGroup="WeekRow" /> </Grid.RowDefinitions> </Grid> </Grid> <Grid x:Name="YearViewWrapperGrid" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Margin="6,-3,7,6" Visibility="Hidden"> <Border x:Name="PART_YearViewCopy" Margin="2" Opacity="0" RenderTransformOrigin="0, 0.5"> <Border.Background> <VisualBrush Stretch="UniformToFill" Visual="{Binding ElementName=PART_YearView}" /> </Border.Background> <Border.RenderTransform> <TranslateTransform X="0" /> </Border.RenderTransform> </Border> <Grid x:Name="PART_YearView" RenderTransformOrigin="0, 0.5"> <Grid.RenderTransform> <TranslateTransform X="0" /> </Grid.RenderTransform> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> </Grid> </Grid> </Grid> </wpf:Card> <Rectangle x:Name="PART_DisabledVisual" Fill="white" Opacity="0.5" RadiusX="2" RadiusY="2" Stretch="Fill" Visibility="Collapsed" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="False"> <Setter TargetName="PART_DisabledVisual" Property="Visibility" Value="Visible" /> </Trigger> <DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" Value="Year"> <Setter TargetName="MonthViewWrapperGrid" Property="Visibility" Value="Hidden" /> <Setter TargetName="YearViewWrapperGrid" Property="Visibility" Value="Visible" /> </DataTrigger> <DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" Value="Decade"> <Setter TargetName="MonthViewWrapperGrid" Property="Visibility" Value="Hidden" /> <Setter TargetName="YearViewWrapperGrid" Property="Visibility" Value="Visible" /> </DataTrigger> <Trigger Property="wpf:CalendarAssist.Orientation" Value="Horizontal"> <Setter TargetName="HeaderBorder" Property="Grid.ColumnSpan" Value="1" /> <Setter TargetName="HeaderBorder" Property="Grid.RowSpan" Value="3" /> <Setter TargetName="PART_HeaderButton" Property="Grid.ColumnSpan" Value="1" /> <Setter TargetName="PART_HeaderButton" Property="Grid.RowSpan" Value="3" /> </Trigger> <EventTrigger RoutedEvent="Button.Click" SourceName="PART_NextButton"> <BeginStoryboard> <Storyboard> <DoubleAnimation AccelerationRatio="0.1" DecelerationRatio="0.89" EasingFunction="{StaticResource EasingFunction}" Storyboard.TargetName="CurrentDateTextBlock" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="240" To="0" Duration="0:0:0.450" /> <DoubleAnimation Storyboard.TargetName="PART_MonthViewCopy" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="0" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_MonthViewCopy" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="0" To="-270" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_MonthView" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="270" To="0" Duration="0:0:0.450" /> <DoubleAnimation Storyboard.TargetName="PART_YearViewCopy" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="0" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_YearViewCopy" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="0" To="-240" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_YearView" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="240" To="0" Duration="0:0:0.450" /> </Storyboard> </BeginStoryboard> </EventTrigger> <EventTrigger RoutedEvent="Button.Click" SourceName="PART_PreviousButton"> <BeginStoryboard> <Storyboard> <DoubleAnimation AccelerationRatio="0.1" DecelerationRatio="0.89" EasingFunction="{StaticResource EasingFunction}" Storyboard.TargetName="CurrentDateTextBlock" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="-240" To="0" Duration="0:0:0.450" /> <DoubleAnimation Storyboard.TargetName="PART_MonthViewCopy" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="0" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_MonthViewCopy" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="0" To="270" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_MonthView" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="-270" To="0" Duration="0:0:0.450" /> <DoubleAnimation Storyboard.TargetName="PART_YearViewCopy" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="0" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_YearViewCopy" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="0" To="240" Duration="0:0:0.450" /> <DoubleAnimation AccelerationRatio="0.3" DecelerationRatio="0.69" Storyboard.TargetName="PART_YearView" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" From="-240" To="0" Duration="0:0:0.450" /> </Storyboard> </BeginStoryboard> </EventTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="MaterialDesignCalendarPortraitBase" TargetType="{x:Type Calendar}"> <Setter Property="Background" Value="{DynamicResource MaterialDesign.Brush.Background}" /> <Setter Property="CalendarButtonStyle" Value="{StaticResource MaterialDesignCalendarButton}" /> <Setter Property="CalendarDayButtonStyle" Value="{StaticResource MaterialDesignCalendarDayButton}" /> <Setter Property="Foreground" Value="{DynamicResource MaterialDesign.Brush.Foreground}" /> <Setter Property="SnapsToDevicePixels" Value="true" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Calendar}"> <CalendarItem x:Name="PART_CalendarItem" wpf:CalendarAssist.HeaderBackground="{TemplateBinding wpf:CalendarAssist.HeaderBackground}" wpf:CalendarAssist.HeaderForeground="{TemplateBinding wpf:CalendarAssist.HeaderForeground}" wpf:CalendarAssist.IsHeaderVisible="{TemplateBinding wpf:CalendarAssist.IsHeaderVisible}" wpf:CalendarAssist.Orientation="{TemplateBinding wpf:CalendarAssist.Orientation}" wpf:ElevationAssist.Elevation="{TemplateBinding wpf:ElevationAssist.Elevation}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Foreground="{TemplateBinding Foreground}" Style="{TemplateBinding CalendarItemStyle}" /> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="wpf:CalendarAssist.HeaderBackground" Value="{DynamicResource MaterialDesign.Brush.Primary}" /> <Setter Property="wpf:CalendarAssist.HeaderForeground" Value="{DynamicResource MaterialDesign.Brush.Primary.Foreground}" /> <Setter Property="wpf:CalendarAssist.Orientation" Value="Vertical" /> <Setter Property="wpf:ElevationAssist.Elevation" Value="Dp0" /> </Style> <Style x:Key="MaterialDesignCalendarPortrait" TargetType="Calendar" BasedOn="{StaticResource MaterialDesignCalendarPortraitBase}"> <Setter Property="CalendarItemStyle" Value="{StaticResource MaterialDesignCalendarItemPortrait}" /> </Style> <Style x:Key="MaterialDesignCalendarPortraitForeground" TargetType="Calendar" BasedOn="{StaticResource MaterialDesignCalendarPortrait}"> <Setter Property="wpf:CalendarAssist.HeaderBackground" Value="Transparent" /> <Setter Property="wpf:CalendarAssist.HeaderForeground" Value="{DynamicResource MaterialDesign.Brush.Foreground}" /> </Style> </ResourceDictionary> |