Je jouais avec la personnalisation de la barre de progression dans l'application Silverlight. Ce que je veux atteindre est d'avoir l'étiquette de barre de progression pour montrer son état actuel dans le format suivant: "Value/Maximum". Ainsi, l'utilisateur verra quelle est la valeur actuelle, et quelle est la valeur maximale possible. Voici un style pour la barre de progression que j'utilise:Texte d'étiquette de barre de progression personnalisée via la liaison
<Style x:Key="ProgressBarStyle" TargetType="ProgressBar">
<Setter Property="Width" Value="97.21" />
<Setter Property="Height" Value="19" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ProgressBar">
<Canvas x:Name="LevelField" Width="99" Height="21">
...
<TextBlock ... DataContext="{TemplateBinding Value}" Text="{Binding Converter={StaticResource DecNumberToStringConverter}}"/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
La façon dont je veux mettre en œuvre, est d'avoir un convertisseur de valeur, qui permet de convertir la valeur actuelle et maximale possible dans la chaîne appropriée. Cela fonctionne correctement, s'il est écrit comme ci-dessus. Cependant, j'ai aussi besoin de fournir ConverterParameter for Convertor, mais je ne sais pas comment le faire. Quand j'écris comme ceci:, ConvertParameter = {Binding Maximum}, il montre une erreur au démarrage, cet attribut Text n'est pas trouvé dans TextBlock. J'ai également essayé de définir DataContext en tant que {RelativeSource Self}, mais il n'affiche pas d'erreur que l'attribut DataContext est introuvable.
Comment faire pour que l'étiquette de barre de progression décrite correctement?