Поделиться через


DataGrid.CurrentColumn Property

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

Gets or sets the column that contains the current cell.

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

Syntax

'Declaration
Public Property CurrentColumn As DataGridColumn
public DataGridColumn CurrentColumn { get; set; }

Property Value

Type: System.Windows.Controls.DataGridColumn
The column that contains the current cell.

Exceptions

Exception Condition
ArgumentNullException

When setting this property, the specified value is nulla null reference (Nothing in Visual Basic).

ArgumentException

When setting this property, the specified column is not in this DataGrid.

InvalidOperationException

When setting this property, the specified column has a Visibility property value of Collapsed.

-or-

When changing the value of this property while the control is in editing mode, the edit cannot be committed or reverted.

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.