我在 WPF 中的 DataGrid 中苦苦挣扎。我有一个绑定到它的 ObservableCollection。当用户进入第一个单元格时,其他单元格将相应更新。为此,我订阅了 CellEditEnding 事件以在第一个单元格更改后强制更新。
在这种情况下,我还会像这样更新 MyClass 的其他属性:
private void DataGridTeilnehmer_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if (!commiting)
{
commiting = true;
DataGridTeilnehmer.CommitEdit(DataGridEditingUnit.Row, false);
commiting = false;
if (e.Column.DisplayIndex == 0)
{
MyClass data = (e.Column.GetCellContent(e.Row) as ContentPresenter).Content as MyClass;
data.pass = "nothing";
}
}
问题是,Grid 不会自行更新,因此不会显示“nothing”,直到我进入绑定到包含“nothing”的属性“pass”的单元格的编辑模式。但我想立即展示它。
提前致谢,
弗兰克
PS:我一生中使用过许多(数据)网格,但 WPF 网格是我迄今为止遇到的最糟糕的。