找回密码
 立即注册

QQ登录

只需一步,快速开始

lunaChen

论坛元老

2

主题

13

帖子

4636

积分

论坛元老

积分
4636

活字格认证

最新发帖
lunaChen
论坛元老   /  发表于:2013-2-17 10:10  /   查看:7647  /  回复:9
Dear,
   你好!我发现当我在使用C1LinearGauge时,如果C1LinearGauge 是DataGrid的一个列,而该DataGrid又是定义在一个DataTemplate中,当使用这个DataTemplate时就会抛出异常,且程序无法继续。其他情况下使用C1LinearGauge,一切正常,详细内容请参照附件中的例子。该例子运行环境:VS2010,WPF, .Net 4.0

   请求解决方案。十分感谢。

本帖子中包含更多资源

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

x

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-17 12:18:00
沙发
从错误信息来开是在加载模板时出错,如果将Gauge控件的Loaded和ValueChanged事件删除就不会报错。

同时,我看你使用的是WPF标准的DataGrid,你也可以选择使用C1FlexGrid和C1DataGrid,此时可以支持Loaded和ValueChanged事件


本帖子中包含更多资源

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

x
回复 使用道具 举报
lunaChen
论坛元老   /  发表于:2013-2-17 13:55:00
板凳
回复 2楼dof的帖子

Hi dof,

首先,在你的实例里边,应该要多加一层DataTemplate。才能重现该错误。

我也试过删除这两个事件就不会出错,可是该Loaded和ValueChanged事件不能删除,因为我们的程序会在这两个事件触发时有一些必要的操作。

我改用C1DataGrid时,依然有该问题。请参照附件。

本帖子中包含更多资源

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

x
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-17 17:43:00
地板
lunaChen 你好

我这边可以重现你说描述的问题,我这边先调查原因,明天给你回复。
回复 使用道具 举报
lunaChen
论坛元老   /  发表于:2013-2-18 09:03:00
5#
回复 4楼dof的帖子

好的,谢谢,请尽快哟
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-18 18:53:00
6#
我这边正在等待产品团队确认该问题是使用不当,还是产品缺陷,已有消息我会给你回帖。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-2-22 12:03:00
7#
回复 5楼lunaChen的帖子

lunaChen 你好,
请问 Demo 中触发Loaded和ValueChanged这两个事件想要做哪些操作呢?
能否使用 C1DataGrid 下 LoadedCellPresenter 事件代替。
回复 使用道具 举报
lunaChen
论坛元老   /  发表于:2013-2-22 16:29:00
8#
回复 7楼iceman的帖子

Hi iceman,

这个LiearGuage的loaded和ValueChanged事件是用来动态设置 guage 的最大值的。 例如
(dec as C1.WPF.Gauge.C1GaugeRange).To = ViewModel.TestValue;
该TestValue是动态的。

请问使用 C1DataGrid 下 LoadedCellPresenter 事件,应该如何代替呢? 好像不行呢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-2-25 14:57:00
9#
回复 8楼lunaChen的帖子

lunaChen 你好,

问题我们已经查收,正在处理中,有结果尽快回复。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-2-26 15:41:00
10#
回复 8楼lunaChen的帖子

请尝试以下代码:

  1. private void grid_LoadedCellPresenter(object sender, C1.WPF.DataGrid.DataGridCellEventArgs e)
  2.   {
  3.    if (e.Cell.Column.Name == "Price")
  4.       {
  5.         var gauge = e.Cell.Presenter.Content as C1LinearGauge;
  6.         gauge.Value=20;  //set the required property here or attach events here
  7.       }
  8.   }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部