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>
提前谢谢。
答案 0 :(得分:2)
您需要为BarDataPoint创建一个新模板。我不会在这里发布整个模板,因为a)它非常大而且b)我不确定我站在版权上的位置。
如果您已经混合了,您可以非常轻松地获取现有模板,您应该可以使用该工具创建副本。或者,您可以从以下源代码中获取它: -
#someSourceCodeRootFolder\Controls.DataVisualization.Toolkit\Charting\DataPoint\BarDataPoint.xaml
在资源字典中创建: -
<Style x:Key="BarDataPointWithContent" TargetType="charting:BarDataPoint">
<Setter Property="Template">
<Setter.Value>
<Border ... copy from original template... >
<!-- Wads of original VisualStateManager stuff here -->
<Grid Background="{TemplateBinding Background}">
<!-- Original set of Rectangles and Border here -->
<TextBlock Text="{TemplateBinding FormattedDependentValue}"
HorizontalAlignment="Center" />
</Grid>
<ToolTipService.ToolTip>
<!-- Do something different here perhaps -->
</ToolTipService.ToolTip>
</Border>
</Setter.Value>
</Setter>
</Style>
基本上我所做的是添加最终TextBlock
并将其绑定到ToolTip在其ContentControl中使用的相同FormattedDependentValue
属性。您可以在TextBlock中添加更多样式以获得所需的外观,您可能还希望使用工具提示内容执行不同的操作。
所以关于这种风格,你可以在图表中做到这一点: -
<chartingToolkit:BarSeries.DataPointStyle>
<Style TargetType="BarDataPoint" BasedOn="{StaticResouce BarDataPointWithContent}" >
<Setter Property="Background" Value="Red" />
</Style>
</chartingToolkit:BarSeries.DataPointStyle>
注意潜伏的MSofties
是否可以将模板添加到文档中,以便我们不需要源代码,Blend或Reflector来提取它们?