SelectedCellsChanged Event

DataGrid.SelectedCellsChanged Event

.NET Framework 4.6 and 4.5

Occurs when the SelectedCells collection changes.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public event SelectedCellsChangedEventHandler SelectedCellsChanged
<object SelectedCellsChanged="SelectedCellsChangedEventHandler" .../>

You can handle the SelectedCellsChanged event to be notified when the collection of selected cells is changed. If the selection includes full rows, the Selector.SelectionChanged event is also raised.

You can retrieve the AddedCells and RemovedCells from the SelectedCellsChangedEventArgs in the event handler.

The following example shows how to handle the SelectedCellsChanged event and clear the values in the newly selected cells.

    <DataGrid Name="DG1" ItemsSource="{Binding}" SelectionUnit="CellOrRowHeader" SelectionChanged="DG1_SelectionChanged" SelectedCellsChanged="DG1_SelectedCellsChanged" />
private void DG1_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
    //Get the newly selected cells
    IList<DataGridCellInfo> selectedcells = e.AddedCells;

    //Get the value of each newly selected cell 
    foreach (DataGridCellInfo di in selectedcells)
        //Cast the DataGridCellInfo.Item to the source object type 
        //In this case the ItemsSource is a DataTable and individual items are DataRows
        DataRowView dvr = (DataRowView)di.Item;

        //Clear values for all newly selected cells
        AdventureWorksLT2008DataSet.CustomerRow cr = (AdventureWorksLT2008DataSet.CustomerRow)dvr.Row;
        cr.SetField(di.Column.DisplayIndex, "");


.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4
© 2015 Microsoft