【问题标题】:wpf - CellEditingTemplate in a DataGrid Edit mode problemwpf - DataGrid 编辑模式中的 CellEditingTemplate 问题
【发布时间】:2011-10-19 21:32:54
【问题描述】:

我有一个带有 CellEditingTemplate 的 DataGrid, 加载行时,如何强制 DataGridRow 的第一个单元格进入编辑模式。 我尝试了一些东西,但似乎没有任何效果.. 谢谢..

【问题讨论】:

  • 实现这一点并不困难,但行加载在虚拟化环境中是一项棘手的业务,如 datagrid 的项目。因为当我们上下滚动时,之前加载的行将再次加载,从而将它们的第一个单元格置于编辑模式。因此,您将有一些新滚动到视图中的行,它们的第一个单元格处于编辑模式。这是你想要的吗?
  • 它不必在行加载事件中,我想要的是第一行的第一个单元格处于编辑模式 - 这是客户请求。
  • 哦,还有更多我忘了提,我正在使用 mvvm。

标签: wpf c#-4.0


【解决方案1】:

DataGridCell 具有 IsEditing 属性,如果设置为 true,则将单元格置于编辑模式。因此,在第一列中,将这一点放在针对数据网格单元类型的样式中...

  <DataGridTemplateColumn ...>
     <DataGridTemplateColumn.CellStyle>
         <Style TargetType="{x:Type DataGridCell}">
               <Setter Property="IsEditing" Value="True" />
         </Style>
     </DataGridTemplateColumn.CellStyle>
  </DataGridTemplateColumn>

如果这有帮助,请告诉我。

【讨论】:

  • 如果它在 Style 中不起作用(通过直接设置 IsEditing),那么您可以尝试使用附加行为。 IsEditing 是一个可设置的依赖属性,我多次使用它来将单元格置于编辑模式。
  • 我也尝试过使用行为,我创建了一个数据网格行为,并注册到了行加载事件,但我在将 DataGridCell 从 DataGridRow 中取出时遇到了问题,以便将 IsEditing 属性设置为它自己的单元格,任何指针?
  • 可以处理DataGridCell的Loaded事件,同上...
猜你喜欢
  • 2011-04-27
  • 2011-01-19
  • 1970-01-01
  • 2017-01-15
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
相关资源
最近更新 更多