2016-05-17 54 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