DataGrid.CurrentCellChanged Event

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Occurs when a different cell becomes the current cell.

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

Syntax

'Declaration
Public Event CurrentCellChanged As EventHandler(Of EventArgs)
public event EventHandler<EventArgs> CurrentCellChanged
<sdk:DataGrid CurrentCellChanged="eventhandler"/>

Remarks

The DataGrid current cell indicator can move to different cells as a result of mouse or keyboard gestures, or because of a CurrentColumn property value change.

Examples

The following example shows how to retrieve the value of the current cell using the CurrentColumn, SelectedItem and CurrentCellChanged members.

Run this sample

Partial Public Class MainPage
    Inherits UserControl
    Public Sub New()
        InitializeComponent()
        Dim myColors As New System.Collections.ObjectModel.ObservableCollection(Of Color)()
        myColors.Add(Colors.Red)
        myColors.Add(Colors.Blue)
        myColors.Add(Colors.Green)
        dataGrid1.DataContext = myColors
    End Sub

    Private Sub dataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As EventArgs)
        If dataGrid1.SelectedItem IsNot Nothing Then
            textBox1.DataContext = (dataGrid1.CurrentColumn.Header.ToString() & ": ") +
                DirectCast(dataGrid1.CurrentColumn.GetCellContent(dataGrid1.SelectedItem), TextBlock).Text
        End If
    End Sub

End Class
public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
        System.Collections.ObjectModel.ObservableCollection<Color> myColors =
            new System.Collections.ObjectModel.ObservableCollection<Color>(){Colors.Red, Colors.Blue, Colors.Green};
        dataGrid1.DataContext = myColors;
    }

    private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)
    {
        if (dataGrid1.SelectedItem != null)
        {
            textBox1.DataContext = dataGrid1.CurrentColumn.Header.ToString() + ": " + 
                ((TextBlock)dataGrid1.CurrentColumn.GetCellContent(dataGrid1.SelectedItem)).Text;
        }
    }

}
<Grid x:Name="LayoutRoot" Background="White">
    <sdk:DataGrid Name="dataGrid1" AutoGenerateColumns="True" 
        CurrentCellChanged="dataGrid1_CurrentCellChanged"  
        SelectionMode="Single" ItemsSource="{Binding}"
        Height="129" Width="225" Margin="28,34,0,0" 
        HorizontalAlignment="Left" VerticalAlignment="Top" />
    <TextBox Name="textBox1" Height="24" Width="84" IsReadOnly="True" 
        HorizontalAlignment="Left" VerticalAlignment="Top" 
        Margin="259,83,0,0" Text="{Binding}" />
</Grid>

Version Information

Silverlight

Supported in: 5, 4, 3

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.