Para borrar la selección actual, puede utilizar este código (como se ve es diferente si el modo es simple o extendido)
if(this.dataGrid1.SelectionUnit != DataGridSelectionUnit.FullRow)
this.dataGrid1.SelectedCells.Clear();
if (this.dataGrid1.SelectionMode != DataGridSelectionMode.Single) //if the Extended mode
this.dataGrid1.SelectedItems.Clear();
else
this.dataGrid1.SelectedItem = null;
Para seleccionar nuevos artículos programación, utilice este código:
if (this.dataGrid1.SelectionMode != DataGridSelectionMode.Single)
{ //for example, select first and third items
var firstItem = this.dataGrid1.ItemsSource.OfType<object>().FirstOrDefault();
var thirdItem = this.dataGrid1.ItemsSource.OfType<object>().Skip(2).FirstOrDefault();
if(firstItem != null)
this.dataGrid1.SelectedItems.Add(firstItem);
if (thirdItem != null)
this.dataGrid1.SelectedItems.Add(thirdItem);
}
else
this.dataGrid1.SelectedItem = this.dataGrid1.ItemsSource.OfType<object>().FirstOrDefault(); //the first item
En realidad, no funciona bien. – newman
@miliu Sí, mi código anterior no era correcto. Arreglé mi respuesta. – vorrtex
@ vortex: No sé si hice algo mal, pero este nuevo código para borrar la selección tampoco funciona para mí. Estoy usando este código en el evento MouseDoubleClick. – newman