Как программно установить выбранный элемент DataGrid в WPF с приложением MVVM?

Я связалDataTable кDataGrid контроль. Как я могу установить выбранный пунктпрограммно?

пример

В моемview model У меня есть свойство типа DataTable для привязки DataGrid

 private DataTable sizeQuantityTable;

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

мойXAML


constructor модели вида (присвоение фиктивных значений)

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);

ХОРОШО. Я создал три столбца, а именно,sizeQuantityColumnsColumn а такжеmColumn и добавил три строки, а именно,row1row2 а также .row2

Так что давайте'скажем, я хочу установить выбранный пункт какrow2 (Таким образом, в представлении, второй ряд должен быть выделен).

Как я могу это сделать?

РЕДАКТИРОВАТЬ

Я жестко закодировалSelectedIndex DataGrid до 1. (Таким образом, следует выбрать вторую строку). Вdesign time это показывает, как выбран. Но не во время выполнения. Вы можете увидеть это на снимке ниже.

Так что в конечном итоге проблема заключается вНе выделяя ряд.

Ответы на вопрос(5)

Ваш ответ на вопрос