找回密码
 立即注册

QQ登录

只需一步,快速开始

goodzhu110

初级会员

3

主题

7

帖子

326

积分

初级会员

积分
326

活字格认证

最新发帖
goodzhu110
初级会员   /  发表于:2013-6-17 09:44  /   查看:5762  /  回复:3

<c1:C1Chart3D Grid.Column="1" Grid.Row="1" ChartType="SurfaceZoneContour" Name="c1Chart3D1">
            <c1:C1Chart3D.AxisX>
                <c1:Axis3D />
            </c1:C1Chart3D.AxisX>
            <c1:GridDataSeries ZData="{Binding D_Data}">
               
            </c1:GridDataSeries>
</c1:C1Chart3D>
使用MVVM模式绑定,后台有一个线程一直在改变数据,但是界面不显示图形



请问应该怎么绑定能够实现?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-6-17 18:06:00
沙发
goodzhu110 你好

我会在实际测试你的使用方式之后给你回复结果。
回复 使用道具 举报
goodzhu110
初级会员   /  发表于:2013-6-18 11:01:00
板凳
谢谢 ,有例子做个参考也行
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-6-18 20:25:00
地板
通过 DispatcherTimer 可以刷新Chart界面:

后台 C# 代码:
  1.     public partial class MainWindow : Window
  2.     {
  3.         public double[,] D_Data;
  4.         DispatcherTimer dt;

  5.         public MainWindow()
  6.         {
  7.             InitializeComponent();

  8.             D_Data = new double[20, 20];
  9.             Random rdm = new Random();

  10.             for (int r = 0; r < 20; r++)
  11.             {
  12.                 for (int c = 0; c < 20; c++)
  13.                 {
  14.                     D_Data[r, c] = rdm.Next(-10, 10);
  15.                 }
  16.             }

  17.             c1Chart3D1.Children[0].ZData = D_Data;
  18.             dt = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(2) };

  19.             dt.Tick += new EventHandler(dt_Tick);
  20.             dt.Start();
  21.         }

  22.         void dt_Tick(object sender, EventArgs e)
  23.         {
  24.             
  25.             D_Data = new double[20, 20];
  26.             Random rdm = new Random();

  27.             for (int r = 0; r < 20; r++)
  28.             {
  29.                 for (int c = 0; c < 20; c++)
  30.                 {
  31.                     D_Data[r, c] = rdm.Next(-10, 10);
  32.                 }
  33.             }
  34.             c1Chart3D1.Children.Clear();
  35.             c1Chart3D1.Children.Add(new C1.WPF.C1Chart3D.GridDataSeries() { ZData = D_Data });
  36.             c1Chart3D1.UpdateLayout();
  37.         }
  38.     }
复制代码


XAML 代码:
  1.     <my:C1Chart3D Margin="10,10,12,12" Name="c1Chart3D1">
  2.         <my:GridDataSeries/>
  3.     </my:C1Chart3D>
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部