Я играл с настройкой индикатора выполнения в приложении 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 для Convertor, но не уверен, как это сделать. Когда я пишу так: ConvertParameter = {Binding Maximum}, при запуске показывается ошибка, что атрибут Text не найден в TextBlock. Я также пытался установить DataContext как {RelativeSource Self}, но затем он не отображал ошибку, что атрибут DataContext не найден.
Как правильно сделать метку описанного индикатора выполнения?