【问题标题】:How to get cell template datacontext in WPF DataGrid SelectedCellsChanged?如何在 WPF DataGrid SelectedCellsChanged 中获取单元格模板数据上下文?
【发布时间】:2013-02-19 05:49:58
【问题描述】:

我想在单元格选择期间更新单元格数据上下文模型中的一些字段。

WPF 数据网格包含事件 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}" ...

附:是否可以从 SelectedCellsChanged 上的单元格模板中获得控制权?提前谢谢!

【问题讨论】:

    标签: wpf datagrid wpf-controls datagridcell


    【解决方案1】:

    只要确保您调试的不是网格“新行”,因为 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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      相关资源
      最近更新 更多