public DataView VariationGrid
{
get
{
if (_vargrid != null)
{
return _vargrid;
}
else
{
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;
}
}
set
{
_vargrid = value;
RaisePropertyChanged("VariationGrid");
}
}
这就是我创建DataGrid的ItemsSource的方式......因为你可以看到每一行都是不同的Variation,每一列都是QuestionParameters。
这就是我将它绑定到DataGrid的方式:
<DataGrid SelectedIndex="{Binding Path=SelectedRow}" ItemsSource="{Binding Path=VariationGrid}" AutoGenerateColumns="True" Height="153" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dataGrid3" VerticalAlignment="Top" Width="301" >
现在是我的问题:
当我编辑单元格时,需要更改我选择的变体的问题参数的值。我该怎么做,因为我现在有了想法...
答案 0 :(得分:0)
您可能最好创建一个对象图以将数据网格绑定到该对象图,然后让该对象图冒泡更改事件(通过INotifyPropertyChanged),您可以在视图模型中注意这些事件。