DataGrid.AutoGenerateColumns Property
Gets or sets a value that indicates whether columns are created automatically when the ItemsSource property is set.
Namespace: System.Windows.Controls
Assembly: System.Windows.Controls.Data (in System.Windows.Controls.Data.dll)
<sdk:DataGrid AutoGenerateColumns="bool"/>
Property Value
Type: System.Booleantrue if columns are generated automatically; otherwise, false. The default is true.
Dependency property identifier field: AutoGenerateColumnsProperty
You can modify the Columns collection at run time regardless of whether it contains generated columns. However, if you specify columns in XAML, you should set AutoGenerateColumns to false.
The following code example demonstrates how to set the AutoGenerateColumns property and handle the AutoGeneratingColumn event.
public MainPage() { InitializeComponent(); DG.DataContext = this.LayoutRoot.Children; } private void DG_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { string headername = e.Column.Header.ToString(); switch (headername) { // Cancel the columns you don't want to generate. case "Effect": case "Clip": case "Projection": case "OpacityMask": case "RenderTransformOrigin": e.Cancel = true; break; // Update column headers when generating. case "Opacity": e.Column.Header = "Opacity Value"; break; case "UseLayoutRounding": e.Column.Header = "Layout Rounding?"; break; case "IsHitTestVisible": e.Column.Header = "Hit Test Visible?"; break; case "RenderSize": e.Column.Header = "Rendered Size"; break; } }
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.