Я создаю шаблон XAML для WPF ProgressBar
. Следующий код XAML работает нормально, если для IsIndeterminate
установлено значение False
:
<ControlTemplate x:Key="DefaultProgressBarTemplate" TargetType="{x:Type ProgressBar}">
<ControlTemplate.Resources>
<SolidColorBrush x:Key="SolidBorderBrush" Color="#767676" />
<LinearGradientBrush x:Key="IndicatorBrush" StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="#BCCF64" Offset="0.5" />
<GradientStop Color="#E1FF77" Offset="0.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ControlTemplate.Resources>
<Grid MinHeight="14">
<Border Name="PART_Track" CornerRadius="9" Background="Transparent" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" SnapsToDevicePixels="True" />
<Border Name="PART_Indicator" CornerRadius="9" Background="{StaticResource IndicatorBrush}" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" HorizontalAlignment="Left" SnapsToDevicePixels="True" />
</Grid>
</ControlTemplate>
<Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template" Value="{StaticResource DefaultProgressBarTemplate}" />
</Style>
Граница индикатора заполняет ProgressBar
от мин до макс. Но если я установлю IsIndeterminate
на True
, граница индикатора заполнит весь ProgressBar
(как будто он установлен на макс.) И ничего не будет анимировано. Ничто из того, что я пробовал, не изменило это поведение ProgressBar
.
Что мне нужно сделать, чтобы анимация IsIndeterminate
была похожа на анимацию в стандартном WPF ProgressBar
?
Заранее спасибо
банзай