#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:
Это не способ выполнить привязку, потому что вы создаете объект / коллекцию локально, а затем теряете ее отслеживание. Это очень плохая практика, потому что при каждом получении коллекция будет воссоздаваться заново.
Загрузите данные один раз (в поле экземпляра / свойство).