|
1 | 1 | <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
2 | 2 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
3 | 3 | xmlns:circularProgressBar="clr-namespace:MaterialDesignThemes.Wpf.Converters.CircularProgressBar"
|
4 |
| - xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf" |
5 |
| - xmlns:transitions="clr-namespace:MaterialDesignThemes.Wpf.Transitions"> |
| 4 | + xmlns:transitions="clr-namespace:MaterialDesignThemes.Wpf.Transitions" |
| 5 | + xmlns:converters="clr-namespace:MaterialDesignThemes.Wpf.Converters"> |
6 | 6 |
|
7 | 7 | <Style x:Key="MaterialDesignLinearProgressBar" TargetType="{x:Type ProgressBar}">
|
8 | 8 | <Setter Property="Foreground" Value="{DynamicResource PrimaryHueDarkBrush}"/>
|
|
121 | 121 | <circularProgressBar:LargeArcConverter x:Key="LargeArcConverter" />
|
122 | 122 | <circularProgressBar:RotateTransformConverter x:Key="RotateTransformConverter" />
|
123 | 123 | <circularProgressBar:RotateTransformCentreConverter x:Key="RotateTransformCentreConverter" />
|
| 124 | + <converters:NotZeroConverter x:Key="NotZeroConverter" /> |
124 | 125 |
|
125 | 126 | <Style x:Key="MaterialDesignCircularProgressBar" TargetType="{x:Type ProgressBar}">
|
126 | 127 | <Setter Property="Foreground" Value="{DynamicResource PrimaryHueMidBrush}" />
|
|
136 | 137 | </Storyboard>
|
137 | 138 | <Storyboard x:Key="IsFullyIndeterminateScaleStoryboard">
|
138 | 139 | <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FullyIndeterminateGridScaleTransform"
|
139 |
| - Storyboard.TargetProperty="ScaleX" |
140 |
| - RepeatBehavior="Forever"> |
| 140 | + Storyboard.TargetProperty="ScaleX" |
| 141 | + RepeatBehavior="Forever"> |
141 | 142 | <SplineDoubleKeyFrame KeyTime="0" Value="0.0" />
|
142 | 143 | <SplineDoubleKeyFrame KeyTime="0:0:1" Value="1.0" />
|
143 | 144 | <SplineDoubleKeyFrame KeyTime="0:0:4" Value="0.0" />
|
144 | 145 | </DoubleAnimationUsingKeyFrames>
|
145 | 146 | <DoubleAnimation Storyboard.TargetName="RotateTransform"
|
146 |
| - Storyboard.TargetProperty="Angle" |
147 |
| - RepeatBehavior="Forever" |
148 |
| - From="00" To="359" Duration="0:0:1.25" /> |
| 147 | + Storyboard.TargetProperty="Angle" |
| 148 | + RepeatBehavior="Forever" |
| 149 | + From="00" To="359" Duration="0:0:1.25" /> |
149 | 150 | </Storyboard>
|
150 | 151 | </ControlTemplate.Resources>
|
151 | 152 | <Grid x:Name="TemplateRoot" ClipToBounds="False">
|
|
158 | 159 | <Canvas>
|
159 | 160 | <Ellipse Fill="{TemplateBinding Background}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" />
|
160 | 161 | <Path x:Name="Path" Stroke="{TemplateBinding Foreground}" StrokeThickness="3"
|
161 |
| - Canvas.Top="2" Canvas.Left="2" |
162 |
| - RenderTransformOrigin="0, 0"> |
| 162 | + Canvas.Top="2" Canvas.Left="2" |
| 163 | + RenderTransformOrigin="0, 0"> |
163 | 164 | <Path.Data>
|
164 | 165 | <PathGeometry>
|
165 | 166 | <PathFigure StartPoint="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource StartPointConverter}, Mode=OneWay}">
|
166 |
| - <ArcSegment Size="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource ArcSizeConverter}, Mode=OneWay}" |
167 |
| - SweepDirection="Clockwise" |
168 |
| - > |
| 167 | + <ArcSegment Size="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource ArcSizeConverter}, Mode=OneWay}" |
| 168 | + SweepDirection="Clockwise"> |
169 | 169 | <ArcSegment.IsLargeArc>
|
170 | 170 | <MultiBinding Converter="{StaticResource LargeArcConverter}">
|
171 | 171 | <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="Value" />
|
|
190 | 190 | <Path.RenderTransform>
|
191 | 191 | <TransformGroup>
|
192 | 192 | <RotateTransform x:Name="RotateTransform"
|
193 |
| - CenterX="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource RotateTransformCentreConverter}, Mode=OneWay}" |
194 |
| - CenterY="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource RotateTransformCentreConverter}, Mode=OneWay}"> |
| 193 | + CenterX="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource RotateTransformCentreConverter}, Mode=OneWay}" |
| 194 | + CenterY="{Binding ElementName=PathGrid, Path=ActualWidth, Converter={StaticResource RotateTransformCentreConverter}, Mode=OneWay}"> |
195 | 195 | <RotateTransform.Angle>
|
196 | 196 | <MultiBinding Converter="{StaticResource RotateTransformConverter}">
|
197 | 197 | <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="Value" />
|
|
206 | 206 | </Canvas>
|
207 | 207 | </Grid>
|
208 | 208 | <ControlTemplate.Triggers>
|
209 |
| - <MultiTrigger> |
210 |
| - <MultiTrigger.Conditions> |
211 |
| - <Condition Property="IsIndeterminate" Value="True" /> |
212 |
| - <Condition Property="IsVisible" Value="True" /> |
213 |
| - </MultiTrigger.Conditions> |
214 |
| - <MultiTrigger.EnterActions> |
| 209 | + <MultiDataTrigger> |
| 210 | + <MultiDataTrigger.Conditions> |
| 211 | + <Condition Binding="{Binding IsIndeterminate, RelativeSource={RelativeSource Self}}" Value="True" /> |
| 212 | + <Condition Binding="{Binding IsVisible, RelativeSource={RelativeSource Self}}" Value="True" /> |
| 213 | + <Condition Binding="{Binding Value, RelativeSource={RelativeSource Self}, Converter={StaticResource NotZeroConverter}}" Value="True" /> |
| 214 | + </MultiDataTrigger.Conditions> |
| 215 | + <MultiDataTrigger.EnterActions> |
215 | 216 | <RemoveStoryboard BeginStoryboardName="IsFullyIndeterminateStoryboard" />
|
216 | 217 | <BeginStoryboard Storyboard="{StaticResource IsIndeterminateStoryboard}"
|
217 |
| - Name="IsIndeterminateStoryboard"/> |
218 |
| - </MultiTrigger.EnterActions> |
219 |
| - <MultiTrigger.ExitActions> |
| 218 | + Name="IsIndeterminateStoryboard"/> |
| 219 | + </MultiDataTrigger.EnterActions> |
| 220 | + <MultiDataTrigger.ExitActions> |
220 | 221 | <RemoveStoryboard BeginStoryboardName="IsIndeterminateStoryboard" />
|
221 |
| - </MultiTrigger.ExitActions> |
222 |
| - </MultiTrigger> |
| 222 | + </MultiDataTrigger.ExitActions> |
| 223 | + </MultiDataTrigger> |
223 | 224 | <MultiTrigger>
|
224 | 225 | <MultiTrigger.Conditions>
|
225 | 226 | <Condition Property="IsIndeterminate" Value="True" />
|
|
229 | 230 | <MultiTrigger.EnterActions>
|
230 | 231 | <RemoveStoryboard BeginStoryboardName="IsIndeterminateStoryboard" />
|
231 | 232 | <BeginStoryboard Storyboard="{StaticResource IsFullyIndeterminateScaleStoryboard}"
|
232 |
| - Name="IsFullyIndeterminateStoryboard"/> |
| 233 | + Name="IsFullyIndeterminateStoryboard"/> |
233 | 234 | </MultiTrigger.EnterActions>
|
234 | 235 | <MultiTrigger.ExitActions>
|
235 | 236 | <RemoveStoryboard BeginStoryboardName="IsFullyIndeterminateStoryboard" />
|
|
0 commit comments