WPF DataGrid - 以编程方式将单元格设置为编辑模式

Posted

技术标签:

【中文标题】WPF DataGrid - 以编程方式将单元格设置为编辑模式【英文标题】:WPF DataGrid - Set a cell into edit mode programmatically 【发布时间】:2010-12-10 09:38:14 【问题描述】:

我有一个 WPF DataGrid,它显示了一些数据记录(绑定到 ObservableCollection)。

当用户点击“编辑”按钮时,当前选中的行应该进入编辑模式(就像用户双击该行一样)。

我该怎么做?

【问题讨论】:

[找到另一个回答这个问题的帖子。][1] 为我工作。 [1]:***.com/questions/3421597/… 【参考方案1】:

Here is the documentation of the WPF DataGrid on MSDN。 BeginEdit 方法似乎正是您想要的。

PS:我不知道这是否适合您的应用程序,但许多 DataGrid 用户发现Single-Click Editing 很有用。

【讨论】:

【参考方案2】:

假设 WPF:

<DataGrid x:Name="dg".... />

那么这段代码就可以工作了:

dg.CurrentCell = new DataGridCellInfo(dg.Items[i], dg.Columns[j]);
dg.BeginEdit();

【讨论】:

请注意dg.Columns集合中的列顺序不一定是屏幕上显示的顺序,请参见msdn.microsoft.com/en-us/library/…中的注释。如果您确实需要按显示顺序进行索引,只需将dg.Columns.OrderBy(c =&gt; c.DisplayIndex).ToArray() 存储在局部变量中,然后改为索引到该数组中。

以上是关于WPF DataGrid - 以编程方式将单元格设置为编辑模式的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式为 DataGrid 创建 WPF DataGridTemplateColumn

以编程方式 WPF DataGrid 行双击事件

以编程方式获取或设置 Datagrid 中的单元格值

如何使用 MVVM 应用程序在 WPF 中以编程方式设置 DataGrid 的选定项?

以编程方式在 WPF DataGrid 中选择多行

如何在 WPF 的 Datagrid 中设置以编程方式生成的 ComboBox 的启用属性?