Je crée un modèle XAML pour le fichier WPF ProgressBar
. Le code XAML suivant fonctionne bien si IsIndeterminate
est réglé sur False
:Problème avec IsIndeterminate lors de la tentative de création d'un modèle XAML ProgressBar
<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>
La frontière indicateur remplit la ProgressBar
du minimum au maximum. Mais si je mets IsIndeterminate
à True
la bordure de l'indicateur remplit la totalité de ProgressBar
(comme si elle était réglée sur max) et rien n'est animé du tout. Rien que j'ai essayé n'a changé ce comportement du ProgressBar
. Que dois-je faire pour avoir une animation IsIndeterminate
similaire à celle du WPF standard ProgressBar
?
Merci à l'avance
Banzai
Je suis un peu confus, que voulez-vous exactement que votre bordure d'indicateur fasse quand IsIndeterminate est vrai? –
L'animation doit s'exécuter de gauche à droite et inversement, comme c'est souvent le cas dans Windows ProgressBars. – banzai