DataGridTemplateColumn.CellTemplate Property

Gets or sets the template that is used to display the contents of a cell that is not in editing mode.

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


Public Property CellTemplate As DataTemplate
public DataTemplate CellTemplate { get; set; }
<sdk:DataGridTemplateColumn CellTemplate="templateReference"/>

XAML Values

Both attribute and property element syntax for RowDetailsTemplate are shown because defining the template inline as opposed to referencing an existing one as a resource are both equally valid scenarios.

Property Value

Type: System.Windows.DataTemplate
The template that is used to display the contents of a cell that is not in editing mode. The default is nulla null reference (Nothing in Visual Basic).


The following code example demonstrates how to set the CellTemplate property in XAML. This example is part of a larger example available in the DataGrid class overview.

<sdk:DataGrid x:Name="dataGrid5" 
    Height="125" Margin="0,5,0,10"
        <!-- Name Column -->
        <sdk:DataGridTemplateColumn Header="Name">
                    <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                        <TextBlock Padding="5,0,5,0"
                            Text="{Binding FirstName}"/>
                        <TextBlock Text="{Binding LastName}"/>
                    <StackPanel Orientation="Horizontal">
                        <TextBox Text="{Binding FirstName}" BorderThickness="0"/>
                        <TextBox Text="{Binding LastName}" BorderThickness="0"/>
        <!-- Address Column -->
            Header="Address" Width="300"
            Binding="{Binding Address}" />

Version Information


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.