【发布时间】:2019-11-15 16:41:29
【问题描述】:
我想确保在 wpf DataGrid 中始终选择最后一行(使用 MVVM)。下面的代码绑定到一个按钮。它选择 DataGrid 中的最后一行。效果很好。
private void SelectLastRow(object obj)
{
var temp = DisplayedRows.Last();
selectedRow = temp;
OnPropertyChanged(nameof(SelectedRow));
}
如果我将相同的代码放入 SelectedRow 设置器(绑定到 DataGrid 的 SelectedRow 属性),它将不起作用。设置器已执行,但在 GUI 上不是选择最后一行,而是我单击的那一行。知道为什么吗?如果 DataGrid 中存在验证错误,我的总体目标是防止行更改。
private object selectedRow;
public object SelectedRow
{
get => selectedRow;
set
{
var temp = DisplayedRows.Last();
selectedRow = temp;
OnPropertyChanged(nameof(SelectedRow));
}
}
【问题讨论】: