开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 5903|回复: 4

请教高手,WPF中GridControl的CellTemplate问题

[复制链接]

0

精华

3

贡献

0

赞扬

帖子
46
软币
230
在线时间
26 小时
注册时间
2015-5-21
发表于 2015-6-8 19:26:34 | 显示全部楼层 |阅读模式
本帖最后由 wang736477762 于 2015-6-8 19:43 编辑

各位高手,Dev的WPF版的Gridcontrol,可以设置CellTemplate,实现每列的不同Cell具有不同的表现形式。本人研究了Dev自带的例子:MultiEditor,并在项目中应用了该例子的思路。实现了CellTemplate的选择,但具体的DataTemplate中,要根据当前Row对应的数据实例的属性设置DataTemplate的属性。比如每行数据的最大、最小值,用于校验用户输入数据。
为得到当前行数据的属性MinValue,我采用MinValue="{Binding Path=RowData.Row.MinValue}",但程序运行后很慢,估计是反射不到这个属性,在不停地遍历,结果不起作用


简单过程如下:
public class Parameter
{
......
    public double MinValue{ get; set; }
    public double MiaxValue{ get; set; }
........
}


class DataRepository
{
.........
    public List<Parameter> ParaList{ get; set; }
.........
}


在Xaml中,
      <dxg:GridControl x:Name="grid" Grid.Row="1" ItemsSource="{Binding ParaList}">


通过跟踪CelltemplateSelector的代码,发现问题
但:
    <DataTemplate x:Key="paraValueDoubleCellTemplate">
        <dxe:SpinEdit Name="PART_Editor" MaskType="Numeric" MaskUseAsDisplayFormat="True" Increment="1" MinValue="{Binding Path=RowData.Row.MinValue}" MaxValue="{Binding Path=RowData.Row.MaxValue}"/>
    </DataTemplate>

或者
   <DataTemplate x:Key="paraValueDoubleCellTemplate">
        <dxe:SpinEdit Name="PART_Editor" MaskType="Numeric" MaskUseAsDisplayFormat="True" Increment="1" MinValue="{Binding Path=DataContext.RowData.Row.MinValue, RelativeSource={RelativeSource TemplatedParent}}" MaxValue="{Binding Path=DataContext.RowData.Row.MaxValue, RelativeSource={RelativeSource TemplatedParent}}"/>
    </DataTemplate>



都不行。
红字部分,是我认为有问题的地方,请问各位高手,如何解决?
回复

使用道具 举报

0

精华

3

贡献

0

赞扬

帖子
46
软币
230
在线时间
26 小时
注册时间
2015-5-21
 楼主| 发表于 2015-6-9 07:55:40 | 显示全部楼层
帖子不能沉下去呀,各位高手请出山
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
20
软币
121
在线时间
7 小时
注册时间
2015-11-26
发表于 2016-3-25 09:53:26 | 显示全部楼层
你这个是取得当前所有数据中某个字段的最小最大值,然后渲染这个字段么,mvvm模式么?那你可以在查询结束后取得最大最小值,分别存在两个viewmodel的属性中,然后可以添加自定义属性最大值和最小值,在gird的xaml中设置这两个自定义属性绑定至viewmodel中的对应属性值,然后你这边就可以Bing CustMinProperty,RelativeSource={RelativeSource TemplatedParent},你可以试试,我这是想想写的,具体可能有一些调整
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
12
软币
92
在线时间
3 小时
注册时间
2014-3-24
发表于 2016-3-27 22:07:34 | 显示全部楼层
是否View中设置这个validrule
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-3-19 10:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表