我在玩Silverlight应用程序中的进度条自定义。我想要达到的是让进度条标签以下列格式显示其状态: “值/最大值”。所以,用户会看到什么是当前值,什么是最大可能值。下面是我用进度条样式:通过绑定自定义进度条标签文本
<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>
我想实现这一点的方法,是有一个价值转换,将转换成电流值和最大可能为正确的琴弦。如果它的写法如上所述,它确实工作正常。不过,我也需要为转换器提供ConverterParameter,但不知道如何制作它。当我这样写时:ConvertParameter = {绑定最大值},它显示开始时的错误,在TextBlock中找不到Text属性。我也试图将DataContext设置为{RelativeSource Self},但它没有显示DataContext属性未找到的错误。
如何使所描述的进度栏标签正确?