如何在datagrid中添加新项目后禁用下一个单元格聚焦?请注意,我正在以MVVM模式执行我的应用程序。
答案 0 :(得分:1)
您无法禁用下一个项目的选择。它是datagrid的预期行为。 我希望您想要一种行为,例如当用户点击某一行时应该选择它,并且当添加新值时,您不希望选择自动更改。 为此,最好的做法是将datagrid的 SelectedInex 绑定到某个属性,然后在更新数据时更改选择时手动设置它。 您也可以在 SelectedIndex 属性的设置器中设置所需的行为。
实际上有几种方法可以在DataGrid中选择项目。这取决于哪一个最适合这种情况
首先,最基本的是SelectedIndex,这只会选择DataGrid中该索引处的Row
<DataGrid SelectedIndex="{Binding SelectedIndex}" />
private int _selectedIndex;
public int SelectedIndex
{
get { return _selectedIndex; }
set { _selectedIndex = value; NotifyPropertyChanged("SelectedIndex"); }
}
SelectedIndex = 2;
SelectedItem将选择与您设置的行匹配的行
<DataGrid SelectedItem="{Binding SelectedRow}" />
private DataRow _selectedRow;
public DataRow SelectedRow
{
get { return _selectedRow; }
set { _selectedRow = value; NotifyPropertyChanged("SelectedRow");}
}
SelectedRow = items.First(x => x.whatever == something);