2016-05-17 37 views
1

如何在datagrid中添加新项目后禁用下一次细胞聚焦?请注意,我正在使用MVVM模式处理我的应用程序。Datagrid cell focus xaml

回答

1

您不能禁用下一项的选择。这是数据网格的预期行为。 我希望你想要一个行为,比如当用户点击某行时应该选择它,当添加一个新值时,你不希望选择自动改变。 为此,最好的办法是将数据网格的SelectedInex绑定到某个属性,然后在更新数据时选择更改时手动进行设置。 您也可以在SelectedIndex属性中设置所需的行为。

实际上有几种方法可以选择DataGrid中的项目。这只是取决于哪一个最适合的情况

第一,最基本的是SelectedIndex的,这将只是选择指数在行在DataGrid

<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); 
+0

好的..谢谢.. – Rubel