Silverlight 3 Toolkit Charting: Как отобразить значение на панели? - PullRequest
1 голос
/ 12 февраля 2010

Набор инструментов Silverlight 3 великолепен.Я использую BarSeries, а silverlight показывает длину стержня, пропорциональную значению границы.Но есть ли способ получить фактическое значение на панели или рядом с ней?Вот мой XAML

<chartingToolkit:Chart
                        Grid.Column="1"
                        x:Name="chartEnvironmentStatusGlobal"
                        Title="Environment Status">
                        <chartingToolkit:BarSeries
                            x:Name="chartEnvironmentStatus"
                            Title="Pass"
                            HorizontalAlignment="Stretch"
                            VerticalAlignment="Stretch"
                            Background="Green"
                            IndependentValueBinding="{Binding Path=Instance}"
                            DependentValueBinding="{Binding Path=Count}"
                            AnimationSequence="LastToFirst">
                            </chartingToolkit:BarSeries>
                        <chartingToolkit:BarSeries
                            x:Name="chartEnvironmentStatus1"
                            Title="Fail"
                            HorizontalAlignment="Stretch"
                            VerticalAlignment="Stretch"
                            Background="Red"
                            IndependentValueBinding="{Binding Path=Instance}"
                            DependentValueBinding="{Binding Path=Count}"
                            AnimationSequence="LastToFirst">
                            </chartingToolkit:BarSeries>
                    </chartingToolkit:Chart>

Заранее спасибо.

1 Ответ

2 голосов
/ 12 февраля 2010

Вам нужно будет создать новый шаблон для BarDataPoint. Я не буду публиковать здесь весь шаблон, потому что а) он довольно большой и б) я не уверен, где я стою на Copyright.

Вы можете довольно легко получить существующий шаблон, если у вас есть смесь, вы сможете создать копию с помощью инструмента. В качестве альтернативы вы можете получить его из исходного кода, который находится в: -

#someSourceCodeRootFolder\Controls.DataVisualization.Toolkit\Charting\DataPoint\BarDataPoint.xaml

В словаре ресурсов создайте это: -

* +1007 *

По сути, я добавил окончательный TextBlock и привязал его к тому же свойству FormattedDependentValue, которое ToolTip использует в своем ContentControl. Вы можете добавить дополнительные стили к TextBlock, чтобы получить желаемый вид, вы также можете сделать что-то другое с содержанием всплывающей подсказки.

Таким образом, с этим стилем вы можете сделать это на самой диаграмме: -

<chartingToolkit:BarSeries.DataPointStyle>
  <Style TargetType="BarDataPoint" BasedOn="{StaticResouce BarDataPointWithContent}" >
    <Setter Property="Background" Value="Red" />
  </Style>
</chartingToolkit:BarSeries.DataPointStyle>

Примечание для скрывающихся MSofties

Не могли бы вы добавить шаблоны в документацию, чтобы нам не требовался исходный код, Blend или Reflector для их извлечения?

...