У меня есть сетка данных с редактируемыми элементами, и у меня есть кнопка для создания нового экземпляра такого элемента. Сетка данных обновляется новым элементом, но я не могу выбрать недавно добавленный элемент и начать его редактирование.
Ниже мой код:
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 начинает редактирование моего предыдущего выбранного элемента, а не добавленного элемента. Кто-нибудь знает, как это исправить?
dgKenmerken.SelectedIndex = dgKenmerken.Items.Count-1
- person Rachel   schedule 14.09.2010