Created
April 5, 2019 00:10
-
-
Save colinkiama/e173595314ac92d2b932057158a1d393 to your computer and use it in GitHub Desktop.
UWP Material Floating Action Button Style (Requires Windows Community Toolkit)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!--Include this somewhere--> | |
| <!--xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"--> | |
| ... | |
| <Style x:Key="CircleButtonStyle" TargetType="Button"> | |
| <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}"/> | |
| <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/> | |
| <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}"/> | |
| <Setter Property="BorderThickness" Value="{ThemeResource ButtonBorderThemeThickness}"/> | |
| <Setter Property="Padding" Value="8,4,8,4"/> | |
| <Setter Property="HorizontalAlignment" Value="Left"/> | |
| <Setter Property="VerticalAlignment" Value="Center"/> | |
| <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/> | |
| <Setter Property="FontWeight" Value="Normal"/> | |
| <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/> | |
| <Setter Property="UseSystemFocusVisuals" Value="True"/> | |
| <Setter Property="Template"> | |
| <Setter.Value> | |
| <ControlTemplate TargetType="Button"> | |
| <Grid x:Name="RootGrid"> | |
| <VisualStateManager.VisualStateGroups> | |
| <VisualStateGroup x:Name="CommonStates"> | |
| <VisualState x:Name="Normal"> | |
| <Storyboard> | |
| <DoubleAnimation Duration="0:0:0.3" Storyboard.TargetProperty="BlurRadius" Storyboard.TargetName="CircleAreaDropShadow" | |
| To="12" | |
| EnableDependentAnimation="True"> | |
| <DoubleAnimation.EasingFunction> | |
| <CubicEase/> | |
| </DoubleAnimation.EasingFunction> | |
| </DoubleAnimation> | |
| <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> | |
| </Storyboard> | |
| </VisualState> | |
| <VisualState x:Name="PointerOver"> | |
| <Storyboard> | |
| <DoubleAnimation Duration="0:0:0.3" Storyboard.TargetProperty="BlurRadius" Storyboard.TargetName="CircleAreaDropShadow" | |
| To="20.0" | |
| EnableDependentAnimation="True"> | |
| <DoubleAnimation.EasingFunction> | |
| <CubicEase/> | |
| </DoubleAnimation.EasingFunction> | |
| </DoubleAnimation> | |
| <PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/> | |
| </Storyboard> | |
| </VisualState> | |
| <VisualState x:Name="Pressed"> | |
| <Storyboard> | |
| <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CircleArea"> | |
| <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemAccentColorDark1}"/> | |
| </ObjectAnimationUsingKeyFrames> | |
| <PointerDownThemeAnimation Storyboard.TargetName="RootGrid"/> | |
| </Storyboard> | |
| </VisualState> | |
| <VisualState x:Name="Disabled"> | |
| <Storyboard> | |
| <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="CircleArea"> | |
| <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}"/> | |
| </ObjectAnimationUsingKeyFrames> | |
| <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter"> | |
| <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseMediumLowBrush}"/> | |
| </ObjectAnimationUsingKeyFrames> | |
| <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="CircleArea"> | |
| <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}"/> | |
| </ObjectAnimationUsingKeyFrames> | |
| </Storyboard> | |
| </VisualState> | |
| </VisualStateGroup> | |
| </VisualStateManager.VisualStateGroups> | |
| <controls:DropShadowPanel OffsetY="4" x:Name="CircleAreaDropShadow" ShadowOpacity="0.8"> | |
| <Ellipse x:Name="CircleArea" Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="2" | |
| Width="{TemplateBinding Width}" | |
| Height="{TemplateBinding Height}"/> | |
| </controls:DropShadowPanel> | |
| <ContentPresenter x:Name="ContentPresenter" Foreground="{TemplateBinding Foreground}" | |
| VerticalAlignment="Center" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> | |
| </Grid> | |
| </ControlTemplate> | |
| </Setter.Value> | |
| </Setter> | |
| </Style> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment