Как мне привязать строки в моей сетке данных к свойствам?

#c# #wpf #datagrid #binding #properties

#c# #wpf #datagrid #привязка #свойства

Вопрос:

Это код в моей viewmodel:

 public DataView VariationGrid
{
    get
    {
        DataTable data = new DataTable();

        #region Columns
        foreach (var param in SelQuestion.QuestionParameters)
        {
            DataColumn datac = new DataColumn(param.Name);
            data.Columns.Add(datac);
        } 
        #endregion

        #region Rows
        foreach (Variation variation in SelQuestion.Variations)
        {
            DataRow datarow = data.NewRow();
            foreach (var parameter in variation.QuestionParameters)
            {
                datarow[parameter.Key.Name] = parameter.Value;
            }
            data.Rows.Add(datarow);
        } 
        #endregion

        return data.DefaultView;
    }
}
  

Это я привязываю к ItemsSource моей DataGrid.

Теперь я хочу отредактировать ячейку, но как мне уведомить об этом свое свойство, что его значение изменилось?

Ответ №1:

Это не способ выполнить привязку, потому что вы создаете объект / коллекцию локально, а затем теряете ее отслеживание. Это очень плохая практика, потому что при каждом получении коллекция будет воссоздаваться заново.

Загрузите данные один раз (в поле экземпляра / свойство).