<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Default">
            <StaticResource x:Key="SettingCardBackground" ResourceKey="CardBackgroundFillColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBackgroundPointerOver" ResourceKey="ControlFillColorSecondaryBrush" />
            <StaticResource x:Key="SettingCardBackgroundPressed" ResourceKey="ControlFillColorTertiaryBrush" />
            <StaticResource x:Key="SettingCardBackgroundDisabled" ResourceKey="ControlFillColorDisabledBrush" />

            <StaticResource x:Key="SettingCardForeground" ResourceKey="TextFillColorPrimaryBrush" />
            <StaticResource x:Key="SettingCardForegroundPointerOver" ResourceKey="TextFillColorPrimaryBrush" />
            <StaticResource x:Key="SettingCardForegroundPressed" ResourceKey="TextFillColorSecondaryBrush" />
            <StaticResource x:Key="SettingCardForegroundDisabled" ResourceKey="TextFillColorDisabledBrush" />

            <StaticResource x:Key="SettingCardBorderBrush" ResourceKey="CardStrokeColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPointerOver" ResourceKey="ControlElevationBorderBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPressed" ResourceKey="ControlStrokeColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBorderBrushDisabled" ResourceKey="ControlStrokeColorDefaultBrush" />
        </ResourceDictionary>

        <ResourceDictionary x:Key="Light">
            <StaticResource x:Key="SettingCardBackground" ResourceKey="CardBackgroundFillColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBackgroundPointerOver" ResourceKey="ControlFillColorSecondaryBrush" />
            <StaticResource x:Key="SettingCardBackgroundPressed" ResourceKey="ControlFillColorTertiaryBrush" />
            <StaticResource x:Key="SettingCardBackgroundDisabled" ResourceKey="ControlFillColorDisabledBrush" />

            <StaticResource x:Key="SettingCardForeground" ResourceKey="TextFillColorPrimaryBrush" />
            <StaticResource x:Key="SettingCardForegroundPointerOver" ResourceKey="TextFillColorPrimaryBrush" />
            <StaticResource x:Key="SettingCardForegroundPressed" ResourceKey="TextFillColorSecondaryBrush" />
            <StaticResource x:Key="SettingCardForegroundDisabled" ResourceKey="TextFillColorDisabledBrush" />

            <StaticResource x:Key="SettingCardBorderBrush" ResourceKey="CardStrokeColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPointerOver" ResourceKey="ControlElevationBorderBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPressed" ResourceKey="ControlStrokeColorDefaultBrush" />
            <StaticResource x:Key="SettingCardBorderBrushDisabled" ResourceKey="ControlStrokeColorDefaultBrush" />
        </ResourceDictionary>

        <ResourceDictionary x:Key="HighContrast">
            <StaticResource x:Key="SettingCardBackground" ResourceKey="SystemColorButtonFaceColorBrush" />
            <StaticResource x:Key="SettingCardBackgroundPointerOver" ResourceKey="SystemColorHighlightTextColorBrush" />
            <StaticResource x:Key="SettingCardBackgroundPressed" ResourceKey="SystemColorHighlightTextColorBrush" />
            <StaticResource x:Key="SettingCardBackgroundDisabled" ResourceKey="SystemControlBackgroundBaseLowBrush" />

            <StaticResource x:Key="SettingCardForeground" ResourceKey="SystemColorButtonTextColorBrush" />
            <StaticResource x:Key="SettingCardForegroundPointerOver" ResourceKey="SystemColorHighlightColorBrush" />
            <StaticResource x:Key="SettingCardForegroundPressed" ResourceKey="SystemColorHighlightTextColorBrush" />
            <StaticResource x:Key="SettingCardForegroundDisabled" ResourceKey="SystemControlDisabledBaseMediumLowBrush" />

            <StaticResource x:Key="SettingCardBorderBrush" ResourceKey="SystemColorButtonTextColorBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPointerOver" ResourceKey="SystemColorHighlightColorBrush" />
            <StaticResource x:Key="SettingCardBorderBrushPressed" ResourceKey="SystemColorHighlightTextColorBrush" />
            <StaticResource x:Key="SettingCardBorderBrushDisabled" ResourceKey="SystemControlDisabledTransparentBrush" />
        </ResourceDictionary>

    </ResourceDictionary.ThemeDictionaries>

    <Thickness x:Key="SettingCardBorderThickness">1</Thickness>
    <Thickness x:Key="SettingCardPadding">16,16,16,16</Thickness>
    <Thickness x:Key="SettingCardIconMargin">2,0,18,0</Thickness>
    <x:Double x:Key="SettingCardMinWidth">148</x:Double>
    <x:Double x:Key="SettingCardMinHeight">32</x:Double>
    <x:Double x:Key="SettingCardActionButtonWidth">32</x:Double>
    <x:Double x:Key="SettingCardActionButtonHeight">32</x:Double>
    <x:Double x:Key="SettingCardDescriptionFontSize">12</x:Double>
    <x:Double x:Key="SettingCardHeaderIconMaxSize">20</x:Double>
    <x:Double x:Key="SettingCardActionIconMaxSize">13</x:Double>
    <x:Double x:Key="SettingCardLeftIndention">0</x:Double>
    <x:Double x:Key="SettingCardContentMinWidth">240</x:Double>
    <Thickness x:Key="SettingCardHeaderIconMargin">2,0,20,0</Thickness>
    <Thickness x:Key="SettingCardVerticalHeaderContentSpacing">0,8,0,0</Thickness>
    <x:Double x:Key="SettingCardWrapThreshold">476</x:Double>
    <x:Double x:Key="SettingCardWrapNoIconThreshold">286</x:Double>
    <x:String x:Key="SettingCardChevronLinkGlyph">&#xE8A7;</x:String>
    <x:String x:Key="SettingCardChevronRightGlyph">&#xE76C;</x:String>

    <Thickness x:Key="ToggleSwitchLeftHeaderMargin">0,0,4,0</Thickness>

    <!--  This style overrides the default style so that all ToggleSwitches are right aligned, with the label on the left  -->
    <Style x:Key="ToggleSwitchSettingStyle" TargetType="ToggleSwitch">
        <Setter Property="MinWidth" Value="0" />
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="HorizontalAlignment" Value="Right" />
        <Setter Property="HorizontalContentAlignment" Value="Right" />
        <Setter Property="ManipulationMode" Value="System,TranslateX" />
        <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
        <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
        <Setter Property="Foreground" Value="{ThemeResource ToggleSwitchContentForeground}" />
        <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
        <Setter Property="FocusVisualMargin" Value="-7,-3,-7,-3" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ToggleSwitch">
                    <Grid
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        CornerRadius="{TemplateBinding CornerRadius}">
                        <Grid.BackgroundTransition>
                            <BrushTransition Duration="0:0:0.083" />
                        </Grid.BackgroundTransition>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>

                        <ContentPresenter
                            x:Name="HeaderContentPresenter"
                            Grid.Column="0"
                            Margin="{ThemeResource ToggleSwitchLeftHeaderMargin}"
                            HorizontalAlignment="Left"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                            x:DeferLoadStrategy="Lazy"
                            AutomationProperties.AccessibilityView="Raw"
                            Content="{TemplateBinding Header}"
                            ContentTemplate="{TemplateBinding HeaderTemplate}"
                            Foreground="{ThemeResource ToggleSwitchHeaderForeground}"
                            IsHitTestVisible="False"
                            TextWrapping="Wrap"
                            Visibility="Collapsed" />

                        <Grid
                            Grid.Column="1"
                            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="{ThemeResource ToggleSwitchPreContentMargin}" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="{ThemeResource ToggleSwitchPostContentMargin}" />
                            </Grid.RowDefinitions>

                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="12" MaxWidth="12" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>

                            <Grid
                                x:Name="SwitchAreaGrid"
                                Grid.RowSpan="3"
                                Grid.ColumnSpan="3"
                                Margin="0,5"
                                Background="{ThemeResource ToggleSwitchContainerBackground}"
                                Control.IsTemplateFocusTarget="True"
                                CornerRadius="{TemplateBinding CornerRadius}" />

                            <ContentPresenter
                                x:Name="OffContentPresenter"
                                Grid.RowSpan="3"
                                Grid.Column="0"
                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                AutomationProperties.AccessibilityView="Raw"
                                Content="{TemplateBinding OffContent}"
                                ContentTemplate="{TemplateBinding OffContentTemplate}"
                                Foreground="{TemplateBinding Foreground}"
                                IsHitTestVisible="False"
                                Opacity="0" />

                            <ContentPresenter
                                x:Name="OnContentPresenter"
                                Grid.RowSpan="3"
                                Grid.Column="0"
                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                AutomationProperties.AccessibilityView="Raw"
                                Content="{TemplateBinding OnContent}"
                                ContentTemplate="{TemplateBinding OnContentTemplate}"
                                Foreground="{TemplateBinding Foreground}"
                                IsHitTestVisible="False"
                                Opacity="0" />

                            <Rectangle
                                x:Name="OuterBorder"
                                Grid.Row="1"
                                Grid.Column="2"
                                Width="40"
                                Height="20"
                                Fill="{ThemeResource ToggleSwitchFillOff}"
                                RadiusX="10"
                                RadiusY="10"
                                Stroke="{ThemeResource ToggleSwitchStrokeOff}"
                                StrokeThickness="{ThemeResource ToggleSwitchOuterBorderStrokeThickness}" />

                            <Rectangle
                                x:Name="SwitchKnobBounds"
                                Grid.Row="1"
                                Grid.Column="2"
                                Width="40"
                                Height="20"
                                Fill="{ThemeResource ToggleSwitchFillOn}"
                                Opacity="0"
                                RadiusX="10"
                                RadiusY="10"
                                Stroke="{ThemeResource ToggleSwitchStrokeOn}"
                                StrokeThickness="{ThemeResource ToggleSwitchOnStrokeThickness}" />

                            <Grid
                                x:Name="SwitchKnob"
                                Grid.Row="1"
                                Grid.Column="2"
                                Width="20"
                                Height="20"
                                HorizontalAlignment="Left">
                                <Grid.RenderTransform>
                                    <TranslateTransform x:Name="KnobTranslateTransform" />
                                </Grid.RenderTransform>

                                <Border
                                    x:Name="SwitchKnobOn"
                                    Grid.Column="2"
                                    Width="12"
                                    Height="12"
                                    Margin="0,0,1,0"
                                    HorizontalAlignment="Center"
                                    Background="{ThemeResource ToggleSwitchKnobFillOn}"
                                    BackgroundSizing="OuterBorderEdge"
                                    BorderBrush="{ThemeResource ToggleSwitchKnobStrokeOn}"
                                    CornerRadius="7"
                                    Opacity="0"
                                    RenderTransformOrigin="0.5, 0.5">
                                    <Border.RenderTransform>
                                        <CompositeTransform />
                                    </Border.RenderTransform>
                                </Border>

                                <Rectangle
                                    x:Name="SwitchKnobOff"
                                    Grid.Column="2"
                                    Width="12"
                                    Height="12"
                                    Margin="-1,0,0,0"
                                    HorizontalAlignment="Center"
                                    Fill="{ThemeResource ToggleSwitchKnobFillOff}"
                                    RadiusX="7"
                                    RadiusY="7"
                                    RenderTransformOrigin="0.5, 0.5">
                                    <Rectangle.RenderTransform>
                                        <CompositeTransform />
                                    </Rectangle.RenderTransform>
                                </Rectangle>
                            </Grid>

                            <Thumb
                                x:Name="SwitchThumb"
                                Grid.RowSpan="3"
                                Grid.ColumnSpan="3"
                                AutomationProperties.AccessibilityView="Raw">
                                <Thumb.Template>
                                    <ControlTemplate TargetType="Thumb">
                                        <Rectangle Fill="Transparent" />
                                    </ControlTemplate>
                                </Thumb.Template>
                            </Thumb>
                        </Grid>

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Stroke">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchStrokeOff}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchFillOff}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOff}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOn}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchFillOn}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Stroke">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchStrokeOn}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchAreaGrid" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchContainerBackground}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>

                                <VisualState x:Name="PointerOver">
                                    <Storyboard>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Stroke).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchStrokeOffPointerOver}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchFillOffPointerOver}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOffPointerOver}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOnPointerOver}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchFillOnPointerOver}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Stroke">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchStrokeOnPointerOver}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="SwitchAreaGrid" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchContainerBackgroundPointerOver}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>

                                <VisualState x:Name="Pressed">
                                    <VisualState.Setters>
                                        <Setter Target="SwitchKnobOn.Margin" Value="0,0,3,0" />
                                        <Setter Target="SwitchKnobOff.Margin" Value="3,0,0,0" />
                                        <Setter Target="SwitchKnobOn.HorizontalAlignment" Value="Right" />
                                        <Setter Target="SwitchKnobOff.HorizontalAlignment" Value="Left" />
                                    </VisualState.Setters>
                                    <Storyboard>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Stroke).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchStrokeOffPressed}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchFillOffPressed}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchFillOnPressed}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Stroke">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchStrokeOnPressed}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOffPressed}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOnPressed}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="SwitchAreaGrid" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchContainerBackgroundPressed}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="17" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="17" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlFasterAnimationDuration}"
                                                Value="14" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>

                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchHeaderForegroundDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OffContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchContentForegroundDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OnContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchContentForegroundDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Stroke).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchStrokeOffDisabled}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchFillOffDisabled}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchFillOnDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Stroke">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchStrokeOnDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOffDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchKnobFillOnDisabled}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="SwitchAreaGrid" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
                                            <LinearColorKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="{ThemeResource ToggleSwitchContainerBackgroundDisabled}" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlNormalAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOn"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlNormalAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Width">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlNormalAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames
                                            EnableDependentAnimation="True"
                                            Storyboard.TargetName="SwitchKnobOff"
                                            Storyboard.TargetProperty="Height">
                                            <SplineDoubleKeyFrame
                                                KeySpline="{StaticResource ControlFastOutSlowInKeySpline}"
                                                KeyTime="{StaticResource ControlNormalAnimationDuration}"
                                                Value="12" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>

                            <VisualStateGroup x:Name="ToggleStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition
                                        x:Name="DraggingToOnTransition"
                                        GeneratedDuration="0"
                                        From="Dragging"
                                        To="On">
                                        <Storyboard>
                                            <RepositionThemeAnimation FromHorizontalOffset="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobCurrentToOnOffset}" TargetName="SwitchKnob" />
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualTransition>

                                    <VisualTransition
                                        x:Name="OnToDraggingTransition"
                                        GeneratedDuration="0"
                                        From="On"
                                        To="Dragging">
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="0" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="0" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="0" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualTransition>

                                    <VisualTransition
                                        x:Name="DraggingToOffTransition"
                                        GeneratedDuration="0"
                                        From="Dragging"
                                        To="Off">
                                        <Storyboard>
                                            <RepositionThemeAnimation FromHorizontalOffset="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobCurrentToOffOffset}" TargetName="SwitchKnob" />
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualTransition>

                                    <VisualTransition
                                        x:Name="OnToOffTransition"
                                        GeneratedDuration="0"
                                        From="On"
                                        To="Off">
                                        <Storyboard>
                                            <RepositionThemeAnimation FromHorizontalOffset="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobOnToOffOffset}" TargetName="SwitchKnob" />
                                        </Storyboard>
                                    </VisualTransition>

                                    <VisualTransition
                                        x:Name="OffToOnTransition"
                                        GeneratedDuration="0"
                                        From="Off"
                                        To="On">
                                        <Storyboard>
                                            <RepositionThemeAnimation FromHorizontalOffset="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobOffToOnOffset}" TargetName="SwitchKnob" />
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Opacity">
                                                <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualTransition>
                                </VisualStateGroup.Transitions>

                                <VisualState x:Name="Dragging" />

                                <VisualState x:Name="Off" />

                                <VisualState x:Name="On">
                                    <Storyboard>
                                        <DoubleAnimation
                                            Storyboard.TargetName="KnobTranslateTransform"
                                            Storyboard.TargetProperty="X"
                                            To="20"
                                            Duration="0" />
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobBounds" Storyboard.TargetProperty="Opacity">
                                            <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Opacity">
                                            <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOn" Storyboard.TargetProperty="Opacity">
                                            <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SwitchKnobOff" Storyboard.TargetProperty="Opacity">
                                            <LinearDoubleKeyFrame KeyTime="{StaticResource ControlFasterAnimationDuration}" Value="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>

                            <VisualStateGroup x:Name="ContentStates">
                                <VisualState x:Name="OffContent">
                                    <Storyboard>
                                        <DoubleAnimation
                                            Storyboard.TargetName="OffContentPresenter"
                                            Storyboard.TargetProperty="Opacity"
                                            To="1"
                                            Duration="0" />
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OffContentPresenter" Storyboard.TargetProperty="IsHitTestVisible">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <x:Boolean>True</x:Boolean>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>

                                <VisualState x:Name="OnContent">
                                    <Storyboard>
                                        <DoubleAnimation
                                            Storyboard.TargetName="OnContentPresenter"
                                            Storyboard.TargetProperty="Opacity"
                                            To="1"
                                            Duration="0" />
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OnContentPresenter" Storyboard.TargetProperty="IsHitTestVisible">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <x:Boolean>True</x:Boolean>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>
