¿Cómo configurar el elemento seleccionado de un DataGrid mediante programación en WPF con la aplicación MVVM?

He atado elDataTable alDataGrid controlar. ¿Cómo puedo configurar el elemento seleccionadoprogramáticamente ?

Ejemplo

En miview model Tengo una propiedad de tipo DataTable para enlazar el DataGrid

 private DataTable sizeQuantityTable;

 public DataTable SizeQuantityTable
 {
        get
        {
            return sizeQuantityTable;
        }
        set
        {
            sizeQuantityTable = value;
            NotifyPropertyChanged("SizeQuantityTable");
        }
  }

MiXAML

<DataGrid 
            ItemsSource="{Binding SizeQuantityTable}"
            AutoGenerateColumns="True" 
            Margin="0,0,0,120" />

losconstructor del modelo de vista (asignando valores ficticios)

this.SizeQuantityTable = new DataTable();

DataColumn sizeQuantityColumn = new DataColumn();
sizeQuantityColumn.ColumnName = "Size Quantity";
this.SizeQuantityTable.Columns.Add(sizeQuantityColumn);

DataColumn sColumn = new DataColumn();
sColumn.ColumnName = "S";
this.SizeQuantityTable.Columns.Add(sColumn);

DataColumn mColumn = new DataColumn();
mColumn.ColumnName = "M";
this.SizeQuantityTable.Columns.Add(mColumn);

DataRow row1 = this.SizeQuantityTable.NewRow();
row1[sizeQuantityColumn] = "Blue";
row1[sColumn] = "12";
row1[mColumn] = "15";
this.SizeQuantityTable.Rows.Add(row1);

DataRow row2 = this.SizeQuantityTable.NewRow();
row2[sizeQuantityColumn] = "Red";
row2[sColumn] = "18";
row2[mColumn] = "21";
this.SizeQuantityTable.Rows.Add(row2);

DataRow row3 = this.SizeQuantityTable.NewRow();
row3[sizeQuantityColumn] = "Green";
row3[sColumn] = "24";
row3[mColumn] = "27";
this.SizeQuantityTable.Rows.Add(row3);

DE ACUERDO. He creado tres columnas a sabersizeQuantityColumn, sColumn ymColumn y agregó tres filas a saberrow1, row2 yrow2.

Entonces, digamos que quiero configurar el elemento seleccionado comorow2 (Así que en la vista, la segunda fila debe estar resaltada).

¿Cómo puedo hacer esto?

EDITAR

Codifiqué elSelectedIndex del DataGrid a 1. (Por lo tanto, la segunda fila debe seleccionarse). Endesign time se muestra como seleccionado. Pero no en el tiempo de ejecución. Puedes verlo en la instantánea de abajo.

Así que, en definitiva, el problema esSin resaltar La fila.

Respuestas a la pregunta(5)

Su respuesta a la pregunta