Xceed DataGrid for WPF v7.2 Documentation
CellEditorContext Class
Members  Example 


Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid Namespace : CellEditorContext Class
Class that provides information on a cell editor's parent column and associated foreign key configuration.
Syntax
'Declaration
 
<TypeDescriptionProviderAttribute(MS.Internal.ComponentModel.DependencyObjectProvider)>

<NameScopePropertyAttribute("NameScope", System.Windows.NameScope)>

Public Class CellEditorContext 

   Inherits System.Windows.DependencyObject
'Usage
 
Dim instance As CellEditorContext
[TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]

[NameScopeProperty("NameScope", System.Windows.NameScope)]

public class CellEditorContext : System.Windows.DependencyObject 
Remarks
Whether a foreign key constraint or enum is automatically detected or manually provided, the end result is that a ComboBox is used to edit the content of the corresponding cell unless a cell editor has been explicitly provided, in which case, the provided cell editor will be used. Cell editors that are created to edit foreign key constraints can access information about their parent cell, such as the CellContentTemplate to use, through the CellEditorContext attached property (see Example).
Example
<xcdg:Column.CellEditor>

  <!-- ForeignKey CellEditor -->

  <xcdg:CellEditor >

     <xcdg:CellEditor.EditTemplate>

        <DataTemplate>

           <DataTemplate.Resources>

              <xcdg:NullToBooleanConverter x:Key="nullToBooleanConverter" />

           </DataTemplate.Resources>

           

           <ListBox x:Name="fkListBox"

                     xcdg:Cell.IsCellFocusScope="True"

                     ItemTemplate="{Binding RelativeSource={RelativeSource Self},

                                            Path=(xcdg:Cell.CellEditorContext).ParentColumn.CellContentTemplate, Mode=OneWay}"

                     ItemContainerStyle="{Binding RelativeSource={RelativeSource Self},

                                                  Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.ItemContainerStyle, Mode=OneWay}"

                     ItemsSource="{Binding RelativeSource={RelativeSource Self},

                                           Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.ItemsSource, Mode=OneWay}"

                     SelectedValuePath="{Binding RelativeSource={RelativeSource Self},

                                                 Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.ValuePath, Mode=OneWay}"

                     DisplayMemberPath="{Binding RelativeSource={RelativeSource Self},

                                                 Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.DisplayMemberPath, Mode=OneWay}"

                     SelectedValue="{xcdg:CellEditorBinding}" />

           <!-- Only affect Selector if Template or Style is null -->

           <DataTemplate.Triggers>

              <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},

                                             Path=(xcdg:Cell.CellEditorContext).ParentColumn.CellContentTemplate,

                                             Converter={StaticResource nullToBooleanConverter},

                                             Mode=OneWay}"

                           Value="True">

                 <Setter TargetName="fkListBox"

                         Property="ItemTemplateSelector"

                         Value="{Binding RelativeSource={RelativeSource Self},

                                         Path=(xcdg:Cell.CellEditorContext).ParentColumn.CellContentTemplateSelector,

                                         Mode=OneWay}" />

              </DataTrigger>

              <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},

                                             Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.ItemContainerStyle,

                                             Converter={StaticResource nullToBooleanConverter},

                                             Mode=OneWay}"

                           Value="True">

                 <Setter TargetName="fkListBox"

                         Property="ItemContainerStyleSelector"

                         Value="{Binding RelativeSource={RelativeSource Self},

                                         Path=(xcdg:Cell.CellEditorContext).ForeignKeyConfiguration.ItemContainerStyleSelector,

                                         Mode=OneWay}" />

              </DataTrigger>

           </DataTemplate.Triggers>

        </DataTemplate>

     </xcdg:CellEditor.EditTemplate>

  </xcdg:CellEditor>

</xcdg:Column.CellEditor>
Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         Xceed.Wpf.DataGrid.CellEditorContext

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

CellEditorContext Members
Xceed.Wpf.DataGrid Namespace