彩票走势图

C1Chart for WPF初级教程:实现轴注释的高级自定义

原创|使用教程|编辑:龚雪|2016-03-30 09:06:22.000|阅读 663 次

概述:在前面的章节中,我们介绍了如何给图表添加单个轴和添加多轴。在实际的业务场景中,轴会有显示日期,或是特殊的样式。在本文就来介绍如何实现轴注释的高级自定义。图表为报表和分析提供可视化分析,因此用户经常需要大量的自定义。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

<ComponentOne Studio for WPF下载>

在前面的章节中,我们介绍了如何给图表添加单个轴和添加多轴。在实际的业务场景中,轴会有显示日期,或是特殊的样式。在本文就来介绍如何实现轴注释的高级自定义。图表为报表和分析提供可视化分析,因此用户经常需要大量的自定义。

本文实现轴标签的条件化自定义。首先,我们先来看看最终的实现结果。这张图演示了当Y轴数据为空的时候,X轴的注释用红色展示出来。如下图所示:

步骤如下:

定义轴注释模板

我们首先要定义轴标签的模板,为以后的自定义奠定基础。XAML代码参考如下:

<Window.Resources>
<DataTemplate x:Key="lbl">
<TextBlock Margin="2,25,5,20" Text="{Binding}" />
</DataTemplate>
</Window.Resources>

给X轴设置DataTemplate

一旦我们有基本的设计,就可以通过AxisX的AnnoTemplate属性设置模板,如下所示:

<c1chart:C1Chart Name="c1Chart1" ChartType="Column">

<c1chart:C1Chart.View>
<c1chart:ChartView>
<c1chart:ChartView.AxisX>
<c1chart:Axis AnnoTemplate="{StaticResource lbl}" AnnoCreated="Axis_AnnoCreated"/>
</c1chart:ChartView.AxisX>
</c1chart:ChartView>
</c1chart:C1Chart.View>

<c1chart:C1ChartLegend DockPanel.Dock="Right" />
</c1chart:C1Chart>

如上的XAML代码,获取AnnoCreated事件。这个事件剋提供获取单独自定义注释的重画能力。

自定义轴注释

在代码的最后,我们获取每个DataSeires的注释的Y轴的值。一旦我们得到了这个值,接下来自定义AnnoTemplate的事情就变得简单了。

private void Axis_AnnoCreated(object sender, AnnoCreatedEventArgs e)
{
if (((c1Chart1.Data.Children[0] as DataSeries).ValuesSource as ObservableCollection<double?>)[e.Index] == null)
(e.Label as TextBlock).Foreground = new SolidColorBrush(Colors.Red);
}

这样关键的代码和步骤已经完成。如下是本文的示例,请下载查看源码:

 

PS: 关于ComponentOne,这些产品你可以关注>>
本文转载自
葡萄城经典UI产品惠风迎春,惊喜折扣礼品送不停!优惠详情点击查看>>
强大工具Qt新版发布,慧都助力——解决方案大放送!优惠详情点击查看>>

标签:WPFComponentOne

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP