WPF DataGrid自定义行标题

时间:2017-01-25 15:44:25

标签: c# wpf xaml mvvm datagrid

我正在使用WPF / EntityFramework / MVVM

处理数据库FrontEnd

当我允许用户将数据添加到数据网格(绑定到Observable Collection)时,我陷入困境。

我想要实现的是获取MS Access中的行标题: 所以我的WPF DataGrid基本上应该是这样的:

access datagrid

有没有办法将RowHeaderStyle绑定到RowState? 例如:

  • RowState.Editing:显示编辑图标
  • RowState.NewRow:Show Star
  • RowState.Default:显示默认行标题

到目前为止我找不到任何解决方案,但我认为WPF应该足以完成这项工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

简单。根据{{​​1}}的状态,为DataGrid RowHeaderStyle交换不同的ContentTemplates。幸运的是DataGridRowDataGridRow的视觉祖先,因此使用DataGridRowHeader绑定到达那里相对简单并获取相关属性的值:{{ 1}}和RelativeSource

我使用DataGridRow.IsEditing等作为您想要使用的任何内容的任意替身。

DataGridRow.IsNewItem