wpf - 在 System.Windows.Forms.DataVisualization.Charting.chart wpf 中的条内显示值
问题描述
我有一个 System.Windows.Forms.DataVisualization.Charting.chart,我想在图表的条形图内显示轴值。我可以使用列系列数据点在悬停时获得值。
以下是图表代码:
<chartingToolkit:Chart Style="{StaticResource ChartStyle1}" HorizontalAlignment="Left" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" Name="barChart">
<chartingToolkit:ColumnSeries LegendItemStyle="{StaticResource ResourceKey=LegendItemStyle}" DataPointStyle="{StaticResource PointStyle3}" Title="Total Leads" Name="totalLeadColumn" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}" />
<chartingToolkit:Chart.Axes>
<chartingToolkit:LinearAxis Width="50" ShowGridLines="True" Orientation="Y" FontStyle="Normal" TitleStyle="{StaticResource TitleStyle}" Title="Number of Leads" Margin="0,0,5,0" Interval="1" Minimum="0" Maximum="20"/>
<chartingToolkit:CategoryAxis Height="60" Orientation="X" Title="Estimators" FontStyle="Normal" Margin="0,2,5,0" TitleStyle="{StaticResource TitleStyle}" >
<chartingToolkit:CategoryAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<TextBlock Text="{TemplateBinding FormattedContent}" TextAlignment="Left" TextWrapping="Wrap" Width="50" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:CategoryAxis.AxisLabelStyle>
</chartingToolkit:CategoryAxis>
</chartingToolkit:Chart.Axes>
</chartingToolkit:Chart>
风格 :
<Style x:Key="LegendItemStyle" TargetType="chartingToolkit:LegendItem">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:LegendItem">
<StackPanel Orientation="Horizontal">
<Rectangle Width="15" Height="15" Fill="{Binding Background}" Stroke="{Binding BorderBrush}" StrokeThickness="1" Margin="0,0,3,0" />
<visualizationToolkit:Title Content="{TemplateBinding Content}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PointStyle3" TargetType="chartingToolkit:DataPoint">
<Setter Property="DependentValueStringFormat"
Value="Total Leads: {0:N0}" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="#FFB8C0AC" Offset="0"/>
<GradientStop Color="#FF5F7143" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
谁能告诉我应该怎么做才能在图表栏中显示值?
解决方案
好的,我在这里找到了解决方案
需要如下设置数据点样式
<Style x:Key="ColumDataPointStyle" TargetType="chartingToolkit:ColumnDataPoint">
<Setter Property="DependentValueStringFormat"
Value=" {0:N0}" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="#FFB8C0AC" Offset="0"/>
<GradientStop Color="#FF5F7143" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:ColumnDataPoint">
<Grid>
<Rectangle Fill="{TemplateBinding Background}" Stroke="Black"/>
<Grid Margin="0,-20,0,0" HorizontalAlignment="Center" VerticalAlignment="Top">
<TextBlock Text="{TemplateBinding FormattedDependentValue}" Margin="2"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
推荐阅读
- javascript - 为odoo反应本机应用程序
- flutter - 将 Flutter 动画直接渲染到视频
- mysql - Mysql获取当前计数直到结果
- c++ - 尝试删除 char 数组时的 SIGABRT
- macos - Jenkins - 在 Mac 上使用 maven 构建 JavaFX 原生安装程序
- php - php在catch中捕获简单异常和pdo异常
- angular - 如何在生产中以角度获取可编辑的环境变量文件
- ansible - Ansible package_facts:通过与另一个简单列表比较来设置事实
- sql - SQL左连接多个表
- mysql - Google Cloud mySQL 与第二代 GAE Python 3.7 的连接