Themes/MaterialDesignTheme.Flipper.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf"> <Style TargetType="{x:Type wpf:Flipper}"> <Setter Property="Background" Value="{DynamicResource MaterialDesign.Brush.Card.Background}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type wpf:Flipper}"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="FlipStates"> <VisualStateGroup.Transitions> <VisualTransition From="Unflipped" To="Flipped"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FrontContentTransform" Storyboard.TargetProperty="ScaleX" Duration="0:0:0.2"> <LinearDoubleKeyFrame KeyTime="0:0:0.0" Value="1" /> <LinearDoubleKeyFrame KeyTime="0:0:0.1" Value="0" /> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_FrontContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_BackContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Visible}" /> </ObjectAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackContentTransform" Storyboard.TargetProperty="ScaleX" Duration="0:0:0.2"> <LinearDoubleKeyFrame KeyTime="0:0:0.1" Value="0" /> <LinearDoubleKeyFrame KeyTime="0:0:0.2" Value="1" /> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualTransition> <VisualTransition From="Flipped" To="Unflipped"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackContentTransform" Storyboard.TargetProperty="ScaleX" Duration="0:0:0.2"> <LinearDoubleKeyFrame KeyTime="0:0:0.0" Value="1" /> <LinearDoubleKeyFrame KeyTime="0:0:0.1" Value="0" /> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_FrontContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Visible}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_BackContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FrontContentTransform" Storyboard.TargetProperty="ScaleX" Duration="0:0:0.2"> <LinearDoubleKeyFrame KeyTime="0:0:0.1" Value="0" /> <LinearDoubleKeyFrame KeyTime="0:0:0.2" Value="1" /> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualTransition> </VisualStateGroup.Transitions> <VisualState x:Name="Unflipped"> <Storyboard Duration="0"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FrontContentTransform" Storyboard.TargetProperty="ScaleX"> <DiscreteDoubleKeyFrame KeyTime="0" Value="1" /> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackContentTransform" Storyboard.TargetProperty="ScaleX"> <DiscreteDoubleKeyFrame KeyTime="0" Value="0" /> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_FrontContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_BackContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Flipped"> <Storyboard Duration="0"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FrontContentTransform" Storyboard.TargetProperty="ScaleX"> <DiscreteDoubleKeyFrame KeyTime="0" Value="0" /> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackContentTransform" Storyboard.TargetProperty="ScaleX"> <DiscreteDoubleKeyFrame KeyTime="0" Value="1" /> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_FrontContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_BackContent" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" /> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <wpf:Card x:Name="PART_FrontContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" wpf:ElevationAssist.Elevation="{TemplateBinding wpf:ElevationAssist.Elevation}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" RenderTransformOrigin="0.5,0.5" Style="{TemplateBinding wpf:FlipperAssist.CardStyle}" UniformCornerRadius="{TemplateBinding wpf:FlipperAssist.UniformCornerRadius}"> <wpf:Card.RenderTransform> <ScaleTransform x:Name="FrontContentTransform" ScaleX="1" /> </wpf:Card.RenderTransform> <ContentPresenter Margin="{TemplateBinding Padding}" Content="{TemplateBinding FrontContent}" ContentStringFormat="{TemplateBinding FrontContentStringFormat}" ContentTemplate="{TemplateBinding FrontContentTemplate}" ContentTemplateSelector="{TemplateBinding FrontContentTemplateSelector}" /> </wpf:Card> <wpf:Card x:Name="PART_BackContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" wpf:ElevationAssist.Elevation="{TemplateBinding wpf:ElevationAssist.Elevation}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" RenderTransformOrigin="0.5,0.5" Style="{TemplateBinding wpf:FlipperAssist.CardStyle}" UniformCornerRadius="{TemplateBinding wpf:FlipperAssist.UniformCornerRadius}"> <ContentPresenter Margin="{TemplateBinding Padding}" Content="{TemplateBinding BackContent}" ContentStringFormat="{TemplateBinding BackContentStringFormat}" ContentTemplate="{TemplateBinding BackContentTemplate}" ContentTemplateSelector="{TemplateBinding BackContentTemplateSelector}" /> <wpf:Card.RenderTransform> <ScaleTransform x:Name="BackContentTransform" ScaleX="0" /> </wpf:Card.RenderTransform> </wpf:Card> </Grid> </ControlTemplate> </Setter.Value> </Setter> <Setter Property="wpf:ElevationAssist.Elevation" Value="Dp1" /> </Style> </ResourceDictionary> |