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

效果图如下:

ComponentOne Enterprise | 下载试用

ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。

ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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