- 积分
- 0
- 在线时间
- 26 小时
- 主题
- 4
- 注册时间
- 2015-5-21
- 帖子
- 46
- 最后登录
- 2016-2-3
- 帖子
- 46
- 软币
- 230
- 在线时间
- 26 小时
- 注册时间
- 2015-5-21
|
本帖最后由 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>
都不行。
红字部分,是我认为有问题的地方,请问各位高手,如何解决?
|
|