DataGridAutoGeneratingColumnEventArgs Class

Provides data for the DataGrid.AutoGeneratingColumn event.


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

public class DataGridAutoGeneratingColumnEventArgs : CancelEventArgs

The DataGridAutoGeneratingColumnEventArgs type exposes the following members.

Public methodDataGridAutoGeneratingColumnEventArgsInitializes a new instance of the DataGridAutoGeneratingColumnEventArgs class.

Public propertyCancelGets or sets a value that indicates whether the operation should be canceled. (Inherited from CancelEventArgs.)
Public propertyColumnGets the generated column.
Public propertyPropertyNameGets the name of the property bound to the generated column.
Public propertyPropertyTypeGets the Type of the property bound to the generated column.

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

The DataGridAutoGeneratingColumnEventArgs are used in the DataGrid.AutoGeneratingColumn event handler. The DataGridAutoGeneratingColumnEventArgs are used to access properties of the column that is being generated and to access information about the data item that the column is being generated from.

The following code example demonstrates how to use the DataGridAutoGeneratingColumnEventArgs. This example is part of a larger example available in the How to: Customize Auto-Generated Columns in the DataGrid Control topic.

private void dataGrid1_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
    // Modify the header of the Name column.
    if (e.Column.Header.ToString() == "Name")
        e.Column.Header = "Task";
    // Replace the DueDate column with a custom template column.
    if (e.PropertyName == "DueDate")
        // Create a new template column.
        DataGridTemplateColumn templateColumn = new DataGridTemplateColumn();
        templateColumn.Header = "Due Date";
        templateColumn.CellTemplate = (DataTemplate)Resources["dueDateCellTemplate"];
        templateColumn.CellEditingTemplate = (DataTemplate)Resources["dueDateCellEditingTemplate"];
        templateColumn.SortMemberPath = "DueDate";
        // ...
        // Replace the auto-generated column with the templateColumn.
        e.Column = templateColumn;

    // Cancel AutoGeneration of all boolean columns.
    if (e.PropertyType == typeof(bool))
        e.Cancel = true;


Supported in: 5, 4, 3

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions