2013-03-04 1 views
0

셀을 선택하면 셀 datacontext 모델의 일부 필드를 업데이트해야합니다.WPF DataGrid에서 셀 템플릿 datacontext를 가져 오는 방법 SelectedCellsChanged?

WPF 데이터 격자에는 이벤트 SelectedCellsChanged이 포함되어 있지만 datacontext 속성이 표시되지 않습니다. 현재 이벤트에서 셀 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.s. SelectedCellsChanged의 셀 템플릿에서 제어 할 수 있습니까?

답변

0

datacontext가 null이기 때문에 그리드 "새 라인"을 디버깅하지 않도록하십시오! :)

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