DataGrid.SelectedCellsChanged Händelse

Definition

Inträffar när samlingen SelectedCells ändras.

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

Händelsetyp

Exempel

I följande exempel visas hur du SelectedCellsChanged hanterar händelsen och rensar värdena i de nyligen markerade cellerna.

<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

Kommentarer

Du kan hantera händelsen som SelectedCellsChanged ska meddelas när samlingen av markerade celler ändras. Om markeringen innehåller fullständiga rader Selector.SelectionChanged utlöses även händelsen.

Du kan hämta AddedCells och RemovedCells från SelectedCellsChangedEventArgs i händelsehanteraren.

Gäller för

Se även