2013-03-04 213 views
0

当单元格被选中时,我必须更新单元格datacontext模型中的一些字段。如何获取WPF DataGrid SelectedCellsChanged中的单元格模板datacontext?

WPF datagrid包含事件SelectedCellsChanged但我没有看到任何datacontext属性。是否有可能从当前事件获取单元格数据上下文?

private void OnSelectedCellChanged(object sender, SelectedCellsChangedEventArgs e) 
     { 
      var firstCell=e.AddedCells.FirstOrDefault(); 
      //How can i get cell datacontext? 

     } 

<DataGrid SelectionUnit="CellOrRowHeader" 
    x:Name="grid" 
     SelectedCellsChanged="OnSelectedCellChanged" 
     ItemsSource="{Binding Items}" ... 

P.是否有可能从SelectedCellsChanged上的单元格模板获取控制权?

回答

0

只要确保你调试不是网格“新行”,因为datacontext是空的! :)

foreach (var item in e.AddedCells) 
{ 
    var column = item.Column as FocusableDataGridTemplateColumn; 
    if (column != null) 
    { 
     var presenter=item.Column.GetCellContent(item.Item); 
     presenter.DataContext; 
    } 
} 
相关问题