Xceed DataGrid for WPF v7.3 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / CellEditor Class / EditTemplate Property
Example


In This Topic
    EditTemplate Property
    In This Topic
    Gets or sets the data template that will be used to edit the content of a cell.
    Syntax
    'Declaration
     
    Public Property EditTemplate As DataTemplate
    'Usage
     
    Dim instance As CellEditor
    Dim value As DataTemplate
     
    instance.EditTemplate = value
     
    value = instance.EditTemplate
    public DataTemplate EditTemplate {get; set;}

    Property Value

    A reference to the DataTemplate that will be used to edit the content of a cell. By default, a null reference (Nothing in Visual Basic).
    Example
    All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
    The following examples demonstrates how to change the edit template of the cell editor for the ShipVia column to a Slider control.The following example demonstrates how to change the edit template of the cell editor for the Freight column to a custom calculator control. The C# code for the Calculate method called in the buttons' Click event simply calculates the new equation and is not provided. To shorten the code, some of the Button and KeyActivationGesture declarations have been removed.The following example demonstrates how to provide a default cell editor for columns that have an Int32 data type.
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
      <Grid.Resources>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                        Source="{Binding Source={x:Static Application.Current},
                                                          Path=Orders}"/>
      </Grid.Resources>
      <xcdg:DataGridControl x:Name="OrdersGrid"
                            ItemsSource="{Binding Source={StaticResource cvs_orders}}">
        <xcdg:DataGridControl.Columns>
    
         <xcdg:Column FieldName="ShipVia">
           <xcdg:Column.CellEditor>
             <xcdg:CellEditor>
               <xcdg:CellEditor.EditTemplate>
                 <DataTemplate>
                   <Slider Value="{xcdg:CellEditorBinding}" Minimum="1" Maximum="3"/>
                 </DataTemplate>
               </xcdg:CellEditor.EditTemplate>
               <xcdg:CellEditor.ActivationGestures>
                 <xcdg:KeyActivationGesture Key="Right"/>
                 <xcdg:KeyActivationGesture Key="Left"/>
               </xcdg:CellEditor.ActivationGestures>
             </xcdg:CellEditor>
           </xcdg:Column.CellEditor>
         </xcdg:Column>
        </xcdg:DataGridControl.Columns>
      </xcdg:DataGridControl>
    </Grid>
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
      <Grid.Resources>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                        Source="{Binding Source={x:Static Application.Current},
                                                          Path=Orders}"/>
      </Grid.Resources>
       <xcdg:DataGridControl x:Name="OrdersGrid"
                             ItemsSource="{Binding Source={StaticResource cvs_orders}}">
          <xcdg:DataGridControl.Columns>
    
            <xcdg:Column FieldName="Freight">
               <xcdg:Column.CellEditor>
                  <xcdg:CellEditor>
                     <xcdg:CellEditor.EditTemplate>
                        <DataTemplate>
                            <DockPanel>
                               <TextBlock x:Name="actual_value"
                                         Text="{xcdg:CellEditorBinding}"
                                          DockPanel.Dock="Top"/>
                               <UniformGrid Columns="4" x:Name="parentPanel"
                                            Tag="{Binding ElementName=actual_value,
                                                          Path=Text,
                                                          Mode=TwoWay,
                                                          UpdateSourceTrigger=PropertyChanged}"
                                            Button.Click="Calculate"
                                            DockPanel.Dock="Top">
                                  <Button x:Name="seven" Content="7"/>
                                  <!-- ... -->
                                  <Button x:Name="addition" Content="+"/>
                               </UniformGrid>
                               <TextBlock x:Name="current_equation" DockPanel.Dock="Bottom"/>
                             </DockPanel>
                         </DataTemplate>
                     </xcdg:CellEditor.EditTemplate>
                     <xcdg:CellEditor.ActivationGestures>
                        <xcdg:KeyActivationGesture Key="NumPad0"/>
                        <!-- ... -->
                        <xcdg:KeyActivationGesture Key="NumPad9"/>
                     </xcdg:CellEditor.ActivationGestures>
                  </xcdg:CellEditor>
               </xcdg:Column.CellEditor>
            </xcdg:Column>
          </xcdg:DataGridControl.Columns>
       </xcdg:DataGridControl>
    </Grid>
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
          xmlns:s="clr-namespace:System;assembly=mscorlib">
      <Grid.Resources>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                        Source="{Binding Source={x:Static Application.Current},
                                                          Path=Orders}"/>
      </Grid.Resources>
      <xcdg:DataGridControl x:Name="OrdersGrid"
                            ItemsSource="{Binding Source={StaticResource cvs_orders}}">
    
       <xcdg:DataGridControl.DefaultCellEditors>
         <xcdg:CellEditor x:Key="{x:Type s:Int32}">
           <xcdg:CellEditor.EditTemplate>
             <DataTemplate>
               <Slider Value="{xcdg:CellEditorBinding}"/>
             </DataTemplate>
           </xcdg:CellEditor.EditTemplate>
         </xcdg:CellEditor>
       </xcdg:DataGridControl.DefaultCellEditors>
      </xcdg:DataGridControl>
    </Grid>
    Requirements

    Target Platforms: Windows 11, Windows, 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also

    Reference

    CellEditor Class
    CellEditor Members

    Essential WPF Concepts

    Templates