ComponentOne C1Chart3D WPF&Silverlight 设置坐标轴自定义标签

在 ComponentOne WPF&Silverlight Chart3D 的使用方法 文章中我了解了 3D 图表的基本使用方法。本篇文章中我们将叙述如何自定义坐标轴标签。C1Chart3D 坐标轴标签由 AnnoTemplate 属性设置,我们可以通过自定义 DataTemlate 来实现标签的转换。实现起来也比较简单,使用 TextBlock 作为容器即可,XAML 代码如下:<img src="http://our.componentone.com/wp-content/uploads/2012/12/Chart3D_AnnoTemplate.png" alt="自定义C1Chart3D标签" />

发布于 2013/11/08 00:00

ComponentOne Enterprise

在 ComponentOne WPF&Silverlight Chart3D 的使用方法  文章中我了解了 3D 图表的基本使用方法。本篇文章中我们将叙述如何自定义坐标轴标签。

C1Chart3D 坐标轴标签由 AnnoTemplate 属性设置,我们可以通过自定义 DataTemlate 来实现标签的转换。实现起来也比较简单,使用 TextBlock 作为容器即可,XAML 代码如下:

 1: <c1:C1Chart3D Name="c1Chart3D1" Grid.Row="1">
 2:     <c1:C1Chart3D.Resources>
 3:         <local:AnnoLabelConverter x:Key="alc" />
 4:         <DataTemplate x:Key="AnnoLabelTemplate">
 5:             <TextBlock Text="{Binding Converter={StaticResource alc} }"/>
 6:         </DataTemplate>
 7:     </c1:C1Chart3D.Resources>
 8:     <c1:C1Chart3D.AxisY>
 9:         <c1:Axis3D  AnnoTemplate="{StaticResource AnnoLabelTemplate}"/>
 10:     </c1:C1Chart3D.AxisY>
 11:     <c1:C1Chart3D.Legend>
 12:         <c1:C1Chart3DLegend />
 13:     </c1:C1Chart3D.Legend>
 14: </c1:C1Chart3D>

接下来,我们创建 AnnoLabelConverter class 来转换标签值,需要实现 IValueConverter 接口,

 1: public class AnnoLabelConverter : IValueConverter
 2: {
 3:     public object Convert(object value, System.Type targetType, object parameter, 
System.Globalization.CultureInfo culture)
 4:     {
 5:         if (value != null)
 6:         {
 7:             int d;
 8:             if(int.TryParse(value.ToString(), out d))
 9:             {
 10:                 if (d == 0)
 11:                     return "Low";
 12:                 else if (d == 5)
 13:                     return "Medium";
 14:                 else if (d == 10)
 15:                     return "High";
 16:                 else
 17:                     return "";
 18:             }
 19:         }
 20:         return "";
 21:     }
 22:  
 23:     public object ConvertBack(object value, System.Type targetType, object parameter,
 System.Globalization.CultureInfo culture)
 24:     {
 25:         return null;
 26:     }
 27: }

 

最后,你仅需要在 XAML 页面引用当前命名空间即可:xmlns:local

效果图如下:

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态