1
我有一個可編輯項目的數據網格,我有一個按鈕來創建這樣一個項目的新實例。數據網格用新項目更新,但我無法選擇最近添加的項目並開始編輯。WPF datagrid開始編輯新項目
下面是我的代碼:
private void btnNewKenmerk_Click(object sender, RoutedEventArgs e)
{
Kenmerk newKenmerk = new Kenmerk(); // the item to add
Kenmerken.Add(newKenmerk); // this is an observablecollection. the datagrid (dgKenmerken) has this as itemssource
// deselect all other items except our new kenmerk
for(int i = 0; i < dgKenmerken.Items.Count; i++)
{
Kenmerk kenmerk = (Kenmerk)dgKenmerken.Items[ i ];
DataGridRow dgRow = (DataGridRow)dgKenmerken.ItemContainerGenerator.ContainerFromIndex(i);
if(dgRow != null)
{
dgRow.IsSelected = (kenmerk == newKenmerk);
}
}
dgKenmerken.SelectedItem = newKenmerk;
// start editing
if(DataGrid.BeginEditCommand.CanExecute(newKenmerk, dgKenmerken))
{
DataGrid.BeginEditCommand.Execute(newKenmerk, dgKenmerken);
}
}
該項目,並將該行的背景發生變化,但BeginEditCommand開始編輯我以前選擇的項目,而不是添加的項目。任何人有任何線索如何解決這個問題?
也許檢查您的SelectedIndex?我偶爾有不同的那麼我的SelectedItem,也許編輯命令使用SelectedIndex而不是SelectedItem。 'dgKenmerken.SelectedIndex = dgKenmerken.Items.Count-1' – Rachel 2010-09-14 15:22:05
Rachel,using SelectedIndex does not work。我用這個代碼: \t dgKenmerken.SelectedIndex = dgKenmerken.Items.IndexOf(newKenmerk); | 並將SelectedIndex和SelectedItem更改爲新項目,但仍未啓動對該項目的編輯 – user342961 2010-09-15 07:09:33