【发布时间】:2015-05-30 12:10:03
【问题描述】:
我有一个 WPF 网格,其中 autogeneratedcolumn 设置为 true。我必须为网格中的每一行修改给定单元格的模板。 WPF 数据网格中是否有一个事件可以让我捕获每一行并在渲染之前执行必要的修改?
如果没有,那么您能否建议在自动生成的数据网格中自定义行单元格的最佳方法是什么?
【问题讨论】:
-
修改列是特定的吗?或者每一列的单元格修改可以改变吗?
-
修改是特定于列的。假设如果一列符合给定的条件,那么我必须为该特定列更改网格中每一行的模板。
-
在这种情况下,附加到 DataGrid.AutoGeneratingColumn 事件。您可以将 DataGridAutoGeneratingColumnEventArgs.Column 中的默认列替换为新列。例如,您可以将其替换为具有自定义 CellTemplate 和 CellEditingTemplate 的新 DataGridTemplateColumn。
-
或者使用
DataTemplateSelector而不是搞乱事件并以 WPF 方式进行。
标签: c# wpf wpfdatagrid