找回密码
 立即注册

QQ登录

只需一步,快速开始

Alice
社区贡献组   /  发表于:2015-5-19 14:29:00
5#
回复 4楼visualmaster的帖子

你好。
根据我的理解,你需要动态绑定数据轴(数据轴的个数不固定)。

如果是在XAML下添加多轴,可以使用如下代码:
  1. <c1:C1Chart Name="c1Chart1" ChartType="Line" >
  2. ..
  3.     <c1:C1Chart.View>
  4.         <c1:ChartView>
  5.                   <c1:Axis Name="ay2" AxisType="Y" Position="Far" Min="0" Max="10" />
  6.       <c1:Axis Name="ay3" AxisType="Y" Position="Far" Min="0" Max="20" />
  7.       <c1:Axis Name="ay4" AxisType="Y" Position="Far" Min="0" Max="50" />        
  8. </c1:ChartView>
  9.     </c1:C1Chart.View>
  10. ...
  11. </c1:C1Chart>
复制代码

这样就可以添加两个Y轴,不需要绑定。
但是如果你想要AxisY属性在view model的绑定到某些属性,很抱歉AxisY属性并不是dependency property。它不能动态的设置轴的名称。
但是你可以通过代码来添加实现动态绑定。
基本思路就是通过 c1Chart1.View.Axes.Add方法去动态的添加Y轴的数量。
  1.    
  2.                     Axis ay = new Axis();
  3.                     ay.AxisType = AxisType.Y;
  4.                     ay.Min = tag.ConfigMin;
  5.                     ay.Max = tag.ConfigMax;
  6.                     ay.Name = report.ayName;//从数据源获取
  7.                     c1Chart1.View.Axes.Add(ay);
  8.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
visualmaster
银牌会员   /  发表于:2015-5-19 11:32:00
地板
回复 3楼Alice的帖子

我的意思是想动态的画X,Y轴的数量,而不是在Xaml 里写死,可能我的代码有问题,比如2个Y轴,2个X轴,或者1个X轴,3个Y轴
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-19 10:21:00
板凳
回复 1楼visualmaster的帖子

你好。从你的Demo来看,你的问题属于绑定到一个ObservableCollection集合,并且使用了SeriesIemsSource做序列的绑定。
我们博客有一篇文章就是介绍使用C1Chart的SeriesItemsSource快速绑定图表序列,供你参考:http://blog.gcpowertools.com.cn/ ... iesItemsSource.aspx
果有什么理解不对,还请指出。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-18 18:25:00
沙发
回复 1楼visualmaster的帖子

感谢你对该问题的反馈。
你的问题我们收到了。
调查后给你反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部