aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/MaterialDesignInXamlToolkit-master/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Badged.xaml
blob: dc97893fd0561a4cafbe68d15678ca28b6286c69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<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">

    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <SineEase EasingMode="EaseOut" x:Key="BadgeEase" />
    <Storyboard x:Key="BadgeChangedStoryboard">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)">
            <EasingDoubleKeyFrame KeyTime="0" Value="1.4" />
            <EasingDoubleKeyFrame EasingFunction="{StaticResource BadgeEase}" KeyTime="0:0:0.3" Value="1" />
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
            <EasingDoubleKeyFrame KeyTime="0" Value="1.4" />
            <EasingDoubleKeyFrame EasingFunction="{StaticResource BadgeEase}" KeyTime="0:0:0.3" Value="1" />
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
    
    <Style TargetType="{x:Type wpf:Badged}">
        <Setter Property="IsTabStop" Value="False" />
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="VerticalAlignment" Value="Top" />
        <Setter Property="BadgeColorZoneMode" Value="PrimaryLight" />
        <Setter Property="BadgePlacementMode" Value="TopRight" />
        <Setter Property="BadgeChangedStoryboard" Value="{StaticResource BadgeChangedStoryboard}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type wpf:Badged}">
                    <Grid>
                        <Border Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}">
                            <ContentPresenter Content="{TemplateBinding Content}"
                                              ContentStringFormat="{TemplateBinding ContentStringFormat}"
                                              ContentTemplate="{TemplateBinding ContentTemplate}"
                                              ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"
                                              Margin="{TemplateBinding Padding}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                        </Border>
                        <Border x:Name="PART_BadgeContainer" 
                                CornerRadius="9" Background="{TemplateBinding BadgeBackground}"                                 
                                MinWidth="18" MinHeight="18"                                
                                HorizontalAlignment="Left" VerticalAlignment="Top" Padding="2"
                                TextElement.FontSize="11"
                                TextElement.FontWeight="DemiBold"
                                RenderTransformOrigin=".5,.5"
                                Visibility="{TemplateBinding IsBadgeSet, Converter={StaticResource BooleanToVisibilityConverter}}">
                            <Border.Resources>
                                <Style TargetType="wpf:PackIcon">
                                    <Setter Property="Width" Value="12" />
                                    <Setter Property="Height" Value="12" />
                                </Style>
                            </Border.Resources>
                            <Border.RenderTransform>
                                <ScaleTransform ScaleX="1" ScaleY="1" />
                            </Border.RenderTransform>
                            <ContentControl Foreground="{TemplateBinding BadgeForeground}"
                                            IsTabStop="False"
                                            Focusable="False"
                                            HorizontalAlignment="Center" VerticalAlignment="Center"
                                            Margin="1 0 1 0"
                                            Content="{TemplateBinding Badge}" />
                        </Border>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="BadgePlacementMode" Value="TopLeft">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Left" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Top" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="Top">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Center" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Top" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="TopRight">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Right" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Top" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="Right">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Right" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Center" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="BottomRight">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Right" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Bottom" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="Bottom">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Center" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Bottom" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="BottomLeft">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Left" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Bottom" />
                        </Trigger>
                        <Trigger Property="BadgePlacementMode" Value="Left">
                            <Setter TargetName="PART_BadgeContainer" Property="HorizontalAlignment" Value="Left" />
                            <Setter TargetName="PART_BadgeContainer" Property="VerticalAlignment" Value="Center" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="BadgeColorZoneMode" Value="Standard">
                <Setter Property="BadgeBackground" Value="{DynamicResource MaterialDesignPaper}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource MaterialDesignBody}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="Inverted">
                <Setter Property="BadgeBackground" Value="{DynamicResource MaterialDesignBody}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource MaterialDesignPaper}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="PrimaryLight">
                <Setter Property="BadgeBackground" Value="{DynamicResource PrimaryHueLightBrush}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource PrimaryHueLightForegroundBrush}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="PrimaryMid">
                <Setter Property="BadgeBackground" Value="{DynamicResource PrimaryHueMidBrush}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource PrimaryHueMidForegroundBrush}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="PrimaryDark">
                <Setter Property="BadgeBackground" Value="{DynamicResource PrimaryHueDarkBrush}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource PrimaryHueDarkForegroundBrush}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="Accent">
                <Setter Property="BadgeBackground" Value="{DynamicResource SecondaryAccentBrush}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource SecondaryAccentForegroundBrush}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="Light">
                <Setter Property="BadgeBackground" Value="{DynamicResource MaterialDesignLightBackground}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource MaterialDesignLightForeground}" />
            </Trigger>
            <Trigger Property="BadgeColorZoneMode" Value="Dark">
                <Setter Property="BadgeBackground" Value="{DynamicResource MaterialDesignDarkBackground}" />
                <Setter Property="BadgeForeground" Value="{DynamicResource MaterialDesignDarkForeground}" />
            </Trigger>
        </Style.Triggers>
    </Style>

</ResourceDictionary>