aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/MaterialDesignInXamlToolkit-master/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.RatingBar.xaml
blob: 9e0e7da433e838631f2fdd75e1920ef1f47c313e (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
<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"
                    xmlns:system="clr-namespace:System;assembly=mscorlib">

    <Style TargetType="{x:Type wpf:RatingBar}">
        <Setter Property="ClipToBounds" Value="False" />
        <Setter Property="Foreground" Value="{DynamicResource PrimaryHueMidBrush}" />
        <Setter Property="wpf:RippleAssist.Feedback" Value="{DynamicResource MaterialDesignFlatButtonRipple}" />
        <Setter Property="ValueItemTemplate">
            <Setter.Value>
                <DataTemplate DataType="system:Int32">
                    <Viewbox Width="24" Height="24">
                        <Canvas Width="24" Height="24">
                            <Path Data="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"
                                  Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Control}, Path=Foreground}" />
                        </Canvas>
                    </Viewbox>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ValueItemContainerButtonStyle">
            <Setter.Value>
                <Style TargetType="wpf:RatingBarButton">
                    <Style.Setters>
                        <Setter Property="Command" Value="{x:Static wpf:RatingBar.SelectRatingCommand}"/>
                        <Setter Property="CommandParameter" Value="{Binding RelativeSource={RelativeSource Self}, Path=Value}"/>
                        <Setter Property="wpf:RippleAssist.ClipToBounds" Value="False"/>
                        <Setter Property="wpf:RippleAssist.IsCentered" Value="True"/>
                        <Setter Property="wpf:RippleAssist.RippleSizeMultiplier" Value="0.5"/>
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="wpf:RatingBarButton">
                                    <wpf:Ripple Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Focusable="False"     
                                                HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                                VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                                Padding="{TemplateBinding Padding}" 
                                                SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                                RenderTransformOrigin=".5, .5">
                                        <wpf:Ripple.RenderTransform>
                                            <RotateTransform x:Name="RotateTransform"></RotateTransform>
                                        </wpf:Ripple.RenderTransform>
                                    </wpf:Ripple>
                                    <ControlTemplate.Triggers>
                                        <EventTrigger RoutedEvent="Click">
                                            <EventTrigger.Actions>
                                                <BeginStoryboard>
                                                    <Storyboard TargetName="RotateTransform" TargetProperty="Angle">
                                                        <DoubleAnimationUsingKeyFrames>
                                                            <SplineDoubleKeyFrame KeyTime="0" Value="0" />
                                                            <EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="360">
                                                                <EasingDoubleKeyFrame.EasingFunction>
                                                                    <SineEase EasingMode="EaseInOut" />
                                                                </EasingDoubleKeyFrame.EasingFunction>
                                                            </EasingDoubleKeyFrame>
                                                        </DoubleAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger.Actions>
                                        </EventTrigger>
                                    </ControlTemplate.Triggers>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style.Setters>
                    <Style.Triggers>
                        <Trigger Property="IsWithinSelectedValue" Value="False">
                            <Setter Property="Opacity" Value=".26" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type wpf:RatingBar}">
                    <ItemsControl ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=RatingButtons}"
                                  VerticalAlignment="Top"
                                  HorizontalAlignment="Left"
                                  Margin="{TemplateBinding Padding}">
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=wpf:RatingBar}, Path=Orientation}" />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Opacity" Value=".26" />
            </Trigger>
        </Style.Triggers>
    </Style>

</ResourceDictionary>