DataGrid.SelectedCellsChanged Событие

Определение

Происходит при изменении коллекции SelectedCells.Occurs when the SelectedCells collection changes.

public:
 event System::Windows::Controls::SelectedCellsChangedEventHandler ^ SelectedCellsChanged;
public event System.Windows.Controls.SelectedCellsChangedEventHandler SelectedCellsChanged;
member this.SelectedCellsChanged : System.Windows.Controls.SelectedCellsChangedEventHandler 
Public Event SelectedCellsChanged As SelectedCellsChangedEventHandler 

Примеры

В следующем примере показано, как выполнить обработку события SelectedCellsChanged и очистить значения в вновь выбранных ячейках.The following example shows how to handle the SelectedCellsChanged event and clear the values in the newly selected cells.

<Grid>
    <DataGrid Name="DG1" ItemsSource="{Binding}" SelectionUnit="CellOrRowHeader" SelectionChanged="DG1_SelectionChanged" SelectedCellsChanged="DG1_SelectedCellsChanged" />
</Grid>
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.BeginEdit();
        cr.SetField(di.Column.DisplayIndex, "");
        cr.EndEdit();
    }
}
Private Sub DG1_SelectedCellsChanged(sender As Object, e As SelectedCellsChangedEventArgs)
    'Get the newly selected cells
    Dim selectedcells As IList(Of DataGridCellInfo) = e.AddedCells

    'Get the value of each newly selected cell
    For Each di As DataGridCellInfo In selectedcells
        'Cast the DataGridCellInfo.Item to the source object type
        'In this case the ItemsSource is a DataTable and individual items are DataRows
        Dim dvr As DataRowView = DirectCast(di.Item, DataRowView)

        'Clear values for all newly selected cells
        Dim cr As AdventureWorksLT2008DataSet.CustomerRow = DirectCast(dvr.Row, AdventureWorksLT2008DataSet.CustomerRow)
        cr.BeginEdit()
        cr.SetField(di.Column.DisplayIndex, "")

        cr.EndEdit()
    Next
End Sub

Комментарии

Можно обрабатывать событие SelectedCellsChanged, чтобы получать уведомления при изменении коллекции выбранных ячеек.You can handle the SelectedCellsChanged event to be notified when the collection of selected cells is changed. Если выбор включает полные строки, также вызывается событие Selector.SelectionChanged.If the selection includes full rows, the Selector.SelectionChanged event is also raised.

AddedCells и RemovedCells можно получить из SelectedCellsChangedEventArgs в обработчике событий.You can retrieve the AddedCells and RemovedCells from the SelectedCellsChangedEventArgs in the event handler.

Применяется к

Дополнительно