【发布时间】:2011-02-25 23:30:15
【问题描述】:
我正在使用 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>
我想要实现的方式是有一个值转换器,它将当前值和可能的最大值转换为正确的字符串。如果它像上面那样写,它确实可以正常工作。但是,我还需要为Convertor提供ConverterParameter,但不知道如何制作。当我这样写时:,ConvertParameter={Binding Maximum},它在启动时显示错误,在 TextBlock 中找不到该 Text 属性。我也尝试将 DataContext 设置为 {RelativeSource Self},但没有显示 DataContext 属性未找到的错误。
如何正确制作描述的进度条标签?
【问题讨论】:
标签: silverlight data-binding progress-bar