16 out of 18 rated this helpful - Rate this topic

DataGrid Class

Represents a control that displays data in a customizable grid.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Control
              System.Windows.Controls.ItemsControl
                System.Windows.Controls.Primitives.Selector
                  System.Windows.Controls.Primitives.MultiSelector
                    System.Windows.Controls.DataGrid

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
public class DataGrid : MultiSelector
<DataGrid>
  Items
</DataGrid>

The DataGrid type exposes the following members.

  Name Description
Public method DataGrid Initializes a new instance of the DataGrid class.
Top
  Name Description
Public property ActualHeight Gets the rendered height of this element. (Inherited from FrameworkElement.)
Public property ActualWidth Gets the rendered width of this element. (Inherited from FrameworkElement.)
Public property AllowDrop Gets or sets a value indicating whether this element can be used as the target of a drag-and-drop operation. This is a dependency property. (Inherited from UIElement.)
Public property AlternatingRowBackground Gets or sets the background brush for use on alternating rows.
Public property AlternationCount Gets or sets the number of alternating item containers in the ItemsControl, which enables alternating containers to have a unique appearance. (Inherited from ItemsControl.)
Public property AreAnyTouchesCaptured Gets a value that indicates whether at least one touch is captured to this element. (Inherited from UIElement.)
Public property AreAnyTouchesCapturedWithin Gets a value that indicates whether at least one touch is captured to this element or to any child elements in its visual tree. (Inherited from UIElement.)
Public property AreAnyTouchesDirectlyOver Gets a value that indicates whether at least one touch is pressed over this element. (Inherited from UIElement.)
Public property AreAnyTouchesOver Gets a value that indicates whether at least one touch is pressed over this element or any child elements in its visual tree. (Inherited from UIElement.)
Public property AreRowDetailsFrozen Gets or sets a value that indicates whether the row details can scroll horizontally.
Public property AutoGenerateColumns Gets or sets a value that indicates whether the columns are created automatically.
Public property Background Gets or sets a brush that describes the background of a control. (Inherited from Control.)
Public property BindingGroup Gets or sets the BindingGroup that is used for the element. (Inherited from FrameworkElement.)
Public property BitmapEffect Obsolete. Gets or sets a bitmap effect that applies directly to the rendered content for this element. This is a dependency property. (Inherited from UIElement.)
Public property BitmapEffectInput Obsolete. Gets or sets an input source for the bitmap effect that applies directly to the rendered content for this element. This is a dependency property. (Inherited from UIElement.)
Public property BorderBrush Gets or sets a brush that describes the border background of a control. (Inherited from Control.)
Public property BorderThickness Gets or sets the border thickness of a control. (Inherited from Control.)
Public property CacheMode Gets or sets a cached representation of the UIElement. (Inherited from UIElement.)
Protected property CanSelectMultipleItems Gets or sets a value that indicates whether the multiple items in the MultiSelector can be selected at a time. (Inherited from MultiSelector.)
Public property CanUserAddRows Gets or sets a value that indicates whether the user can add new rows to the DataGrid.
Public property CanUserDeleteRows Gets or sets a value that indicates whether the user can delete rows from the DataGrid.
Public property CanUserReorderColumns Gets or sets a value that indicates whether the user can change the column display order by dragging column headers with the mouse.
Public property CanUserResizeColumns Gets or sets a value that indicates whether the user can adjust the width of columns by using the mouse.
Public property CanUserResizeRows Gets or sets a value that indicates whether the user can adjust the height of rows by using the mouse.
Public property CanUserSortColumns Gets or sets a value that indicates whether the user can sort columns by clicking the column header.
Public property CellsPanelHorizontalOffset Gets the horizontal offset for the DataGridCellsPanel.
Public property CellStyle Gets or sets the style applied to all cells in the DataGrid.
Public property Clip Gets or sets the geometry used to define the outline of the contents of an element. This is a dependency property. (Inherited from UIElement.)
Public property ClipboardCopyMode Gets or sets a value that indicates how content is copied to the clipboard.
Public property ClipToBounds Gets or sets a value indicating whether to clip the content of this element (or content coming from the child elements of this element) to fit into the size of the containing element. This is a dependency property. (Inherited from UIElement.)
Public property ColumnHeaderHeight Gets or sets the height of the column headers row.
Public property ColumnHeaderStyle Gets or sets the style applied to all column headers in the DataGrid.
Public property Columns Gets a collection that contains all the columns in the DataGrid.
Public property ColumnWidth Gets or sets the standard width and sizing mode of columns and headers in the DataGrid.
Public property CommandBindings Gets a collection of CommandBinding objects associated with this element. A CommandBinding enables command handling for this element, and declares the linkage between a command, its events, and the handlers attached by this element. (Inherited from UIElement.)
Public property ContextMenu Gets or sets the context menu element that should appear whenever the context menu is requested through user interface (UI) from within this element. (Inherited from FrameworkElement.)
Public property CurrentCell Gets or sets the cell that has focus.
Public property CurrentColumn Gets or sets the column that contains the current cell.
Public property CurrentItem Gets the data item bound to the row that contains the current cell.
Public property Cursor Gets or sets the cursor that displays when the mouse pointer is over this element. (Inherited from FrameworkElement.)
Public property DataContext Gets or sets the data context for an element when it participates in data binding. (Inherited from FrameworkElement.)
Protected property DefaultStyleKey Gets or sets the key to use to reference the style for this control, when theme styles are used or defined. (Inherited from FrameworkElement.)
Public property Static member DeleteCommand Represents the command that indicates the intention to delete the current row.
Public property DependencyObjectType Gets the DependencyObjectType that wraps the CLR type of this instance.  (Inherited from DependencyObject.)
Public property DesiredSize Gets the size that this element computed during the measure pass of the layout process. (Inherited from UIElement.)
Public property Dispatcher Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.)
Public property DisplayMemberPath Gets or sets a path to a value on the source object to serve as the visual representation of the object. (Inherited from ItemsControl.)
Public property DragIndicatorStyle Gets or sets the style that is used when rendering the drag indicator that is displayed while dragging a column header.
Public property DropLocationIndicatorStyle Gets or sets the style that is applied to indicate the drop location when dragging a column header.
Public property Effect Gets or sets the bitmap effect to apply to the UIElement. This is a dependency property. (Inherited from UIElement.)
Public property EnableColumnVirtualization Gets or sets a value that indicates whether column virtualization is enabled.
Public property EnableRowVirtualization Gets or sets a value that indicates whether row virtualization is enabled.
Public property FlowDirection Gets or sets the direction that text and other user interface (UI) elements flow within any parent element that controls their layout. (Inherited from FrameworkElement.)
Public property Focusable Gets or sets a value that indicates whether the element can receive focus. This is a dependency property. (Inherited from UIElement.)
Public property Static member FocusBorderBrushKey Gets the key that references the default border brush for a focused cell.
Public property FocusVisualStyle Gets or sets a property that enables customization of appearance, effects, or other style characteristics that will apply to this element when it captures keyboard focus. (Inherited from FrameworkElement.)
Public property FontFamily Gets or sets the font family of the control. (Inherited from Control.)
Public property FontSize Gets or sets the font size. (Inherited from Control.)
Public property FontStretch Gets or sets the degree to which a font is condensed or expanded on the screen. (Inherited from Control.)
Public property FontStyle Gets or sets the font style. (Inherited from Control.)
Public property FontWeight Gets or sets the weight or thickness of the specified font. (Inherited from Control.)
Public property ForceCursor Gets or sets a value that indicates whether this FrameworkElement should force the user interface (UI) to render the cursor as declared by the Cursor property. (Inherited from FrameworkElement.)
Public property Foreground Gets or sets a brush that describes the foreground color. (Inherited from Control.)
Public property FrozenColumnCount Gets or sets the number of non-scrolling columns.
Public property GridLinesVisibility Gets or sets a value that indicates which grid lines are shown.
Public property GroupStyle Gets a collection of GroupStyle objects that define the appearance of each level of groups. (Inherited from ItemsControl.)
Public property GroupStyleSelector Gets or sets a method that enables you to provide custom selection logic for a GroupStyle to apply to each group in a collection. (Inherited from ItemsControl.)
Protected property HandlesScrolling Gets a value that indicates whether the DataGrid supports custom keyboard scrolling. (Overrides Control.HandlesScrolling.)
Public property HasAnimatedProperties Gets a value indicating whether this element has any animated properties. (Inherited from UIElement.)
Public property HasItems Gets a value that indicates whether the ItemsControl contains items. (Inherited from ItemsControl.)
Public property HeadersVisibility Gets or sets the value that specifies the visibility of the row and column headers.
Public property Static member HeadersVisibilityConverter Gets the converter that converts a DataGridHeadersVisibility to a Visibility.
Public property Height Gets or sets the suggested height of the element. (Inherited from FrameworkElement.)
Public property HorizontalAlignment Gets or sets the horizontal alignment characteristics applied to this element when it is composed within a parent element, such as a panel or items control. (Inherited from FrameworkElement.)
Public property HorizontalContentAlignment Gets or sets the horizontal alignment of the control's content. (Inherited from Control.)
Public property HorizontalGridLinesBrush Gets or sets the brush that is used to draw the horizontal grid lines.
Public property HorizontalScrollBarVisibility Gets or sets a value that indicates how horizontal scroll bars are displayed in the DataGrid.
Protected property InheritanceBehavior Gets or sets the scope limits for property value inheritance, resource key lookup, and RelativeSource FindAncestor lookup. (Inherited from FrameworkElement.)
Public property InputBindings Gets the collection of input bindings associated with this element. (Inherited from UIElement.)
Public property InputScope Gets or sets the context for input used by this FrameworkElement. (Inherited from FrameworkElement.)
Public property IsArrangeValid Gets a value indicating whether the computed size and position of child elements in this element's layout are valid. (Inherited from UIElement.)
Public property IsEnabled Gets or sets a value indicating whether this element is enabled in the user interface (UI). This is a dependency property. (Inherited from UIElement.)
Protected property IsEnabledCore Gets a value that becomes the return value of IsEnabled in derived classes. (Inherited from UIElement.)
Public property IsFocused Gets a value that determines whether this element has logical focus. This is a dependency property. (Inherited from UIElement.)
Public property IsGrouping Gets a value that indicates whether the control is using grouping. (Inherited from ItemsControl.)
Public property IsHitTestVisible Gets or sets a value that declares whether this element can possibly be returned as a hit test result from some portion of its rendered content. This is a dependency property. (Inherited from UIElement.)
Public property IsInitialized Gets a value that indicates whether this element has been initialized, either during processing by a XAML processor, or by explicitly having its EndInit method called. (Inherited from FrameworkElement.)
Public property IsInputMethodEnabled Gets a value indicating whether an input method system, such as an Input Method Editor (IME), is enabled for processing the input to this element. (Inherited from UIElement.)
Public property IsKeyboardFocused Gets a value indicating whether this element has keyboard focus. This is a dependency property. (Inherited from UIElement.)
Public property IsKeyboardFocusWithin Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. This is a dependency property. (Inherited from UIElement.)
Public property IsLoaded Gets a value that indicates whether this element has been loaded for presentation. (Inherited from FrameworkElement.)
Public property IsManipulationEnabled Gets or sets a value that indicates whether manipulation events are enabled on this UIElement. (Inherited from UIElement.)
Public property IsMeasureValid Gets a value indicating whether the current size returned by layout measure is valid. (Inherited from UIElement.)
Public property IsMouseCaptured Gets a value indicating whether the mouse is captured to this element. This is a dependency property. (Inherited from UIElement.)
Public property IsMouseCaptureWithin Gets a value that determines whether mouse capture is held by this element or by child elements in its visual tree. This is a dependency property. (Inherited from UIElement.)
Public property IsMouseDirectlyOver Gets a value that indicates whether the position of the mouse pointer corresponds to hit test results, which take element compositing into account. This is a dependency property. (Inherited from UIElement.)
Public property IsMouseOver Gets a value indicating whether the mouse pointer is located over this element (including child elements in the visual tree). This is a dependency property. (Inherited from UIElement.)
Public property IsReadOnly Gets or sets a value that indicates whether the user can edit values in the DataGrid.
Public property IsSealed Gets a value that indicates whether this instance is currently sealed (read-only). (Inherited from DependencyObject.)
Public property IsStylusCaptured Gets a value indicating whether the stylus is captured by this element. This is a dependency property. (Inherited from UIElement.)
Public property IsStylusCaptureWithin Gets a value that determines whether stylus capture is held by this element, or an element within the element bounds and its visual tree. This is a dependency property. (Inherited from UIElement.)
Public property IsStylusDirectlyOver Gets a value that indicates whether the stylus position corresponds to hit test results, which take element compositing into account. This is a dependency property. (Inherited from UIElement.)
Public property IsStylusOver Gets a value indicating whether the stylus cursor is located over this element (including visual child elements). This is a dependency property. (Inherited from UIElement.)
Public property IsSynchronizedWithCurrentItem Gets or sets a value that indicates whether a Selector should keep the SelectedItem synchronized with the current item in the Items property. (Inherited from Selector.)
Public property IsTabStop Gets or sets a value that indicates whether a control is included in tab navigation. (Inherited from Control.)
Public property IsTextSearchCaseSensitive Gets or sets a value that indicates whether case is a condition when searching for items. (Inherited from ItemsControl.)
Public property IsTextSearchEnabled Gets or sets a value that indicates whether TextSearch is enabled on the ItemsControl instance. (Inherited from ItemsControl.)
Protected property IsUpdatingSelectedItems Gets a value that indicates whether the MultiSelector is currently performing a bulk update to the SelectedItems collection. (Inherited from MultiSelector.)
Public property IsVisible Gets a value indicating whether this element is visible in the user interface (UI). This is a dependency property. (Inherited from UIElement.)
Public property ItemBindingGroup Gets or sets the BindingGroup that is copied to each item in the ItemsControl. (Inherited from ItemsControl.)
Public property ItemContainerGenerator Gets the ItemContainerGenerator that is associated with the control. (Inherited from ItemsControl.)
Public property ItemContainerStyle Gets or sets the Style that is applied to the container element generated for each item. (Inherited from ItemsControl.)
Public property ItemContainerStyleSelector Gets or sets custom style-selection logic for a style that can be applied to each generated container element. (Inherited from ItemsControl.)
Public property Items Gets the collection used to generate the content of the ItemsControl. (Inherited from ItemsControl.)
Public property ItemsPanel Gets or sets the template that defines the panel that controls the layout of items. (Inherited from ItemsControl.)
Public property ItemsSource Gets or sets a collection used to generate the content of the ItemsControl. (Inherited from ItemsControl.)
Public property ItemStringFormat Gets or sets a composite string that specifies how to format the items in the ItemsControl if they are displayed as strings. (Inherited from ItemsControl.)
Public property ItemTemplate Gets or sets the DataTemplate used to display each item. (Inherited from ItemsControl.)
Public property ItemTemplateSelector Gets or sets the custom logic for choosing a template used to display each item. (Inherited from ItemsControl.)
Public property Language Gets or sets localization/globalization language information that applies to an element. (Inherited from FrameworkElement.)
Public property LayoutTransform Gets or sets a graphics transformation that should apply to this element when layout is performed. (Inherited from FrameworkElement.)
Protected property LogicalChildren Gets an enumerator for the logical child objects of the ItemsControl object. (Inherited from ItemsControl.)
Public property Margin Gets or sets the outer margin of an element. (Inherited from FrameworkElement.)
Public property MaxColumnWidth Gets or sets the maximum width constraint of the columns and headers in the DataGrid.
Public property MaxHeight Gets or sets the maximum height constraint of the element. (Inherited from FrameworkElement.)
Public property MaxWidth Gets or sets the maximum width constraint of the element. (Inherited from FrameworkElement.)
Public property MinColumnWidth Gets or sets the minimum width constraint of the columns and headers in the DataGrid.
Public property MinHeight Gets or sets the minimum height constraint of the element. (Inherited from FrameworkElement.)
Public property MinRowHeight Gets or sets the minimum height constraint of the rows and headers in the DataGrid.
Public property MinWidth Gets or sets the minimum width constraint of the element. (Inherited from FrameworkElement.)
Public property Name Gets or sets the identifying name of the element. The name provides a reference so that code-behind, such as event handler code, can refer to a markup element after it is constructed during processing by a XAML processor. (Inherited from FrameworkElement.)
Public property NonFrozenColumnsViewportHorizontalOffset Gets the horizontal offset of the scrollable columns in the view port.
Public property Opacity Gets or sets the opacity factor applied to the entire UIElement when it is rendered in the user interface (UI). This is a dependency property. (Inherited from UIElement.)
Public property OpacityMask Gets or sets an opacity mask, as a Brush implementation that is applied to any alpha-channel masking for the rendered content of this element. This is a dependency property. (Inherited from UIElement.)
Public property OverridesDefaultStyle Gets or sets a value that indicates whether this element incorporates style properties from theme styles. (Inherited from FrameworkElement.)
Public property Padding Gets or sets the padding inside a control. (Inherited from Control.)
Public property Parent Gets the logical parent element of this element. (Inherited from FrameworkElement.)
Public property PersistId Obsolete. Gets a value that uniquely identifies this element. (Inherited from UIElement.)
Public property RenderSize Gets (or sets, but see Remarks) the final render size of this element. (Inherited from UIElement.)
Public property RenderTransform Gets or sets transform information that affects the rendering position of this element. This is a dependency property. (Inherited from UIElement.)
Public property RenderTransformOrigin Gets or sets the center point of any possible render transform declared by RenderTransform, relative to the bounds of the element. This is a dependency property. (Inherited from UIElement.)
Public property Resources Gets or sets the locally-defined resource dictionary. (Inherited from FrameworkElement.)
Public property RowBackground Gets or sets the default brush for the row background.
Public property Static member RowDetailsScrollingConverter Gets the converter that converts a Boolean value to a SelectiveScrollingOrientation.
Public property RowDetailsTemplate Gets or sets the template that is used to display the row details.
Public property RowDetailsTemplateSelector Gets or sets the template selector that is used for the row details.
Public property RowDetailsVisibilityMode Gets or sets a value that indicates when the details section of a row is displayed.
Public property RowHeaderActualWidth Gets the rendered width of the row headers column.
Public property RowHeaderStyle Gets or sets the style applied to all row headers.
Public property RowHeaderTemplate Gets or set the template for the row headers.
Public property RowHeaderTemplateSelector Gets or sets the template selector for row headers.
Public property RowHeaderWidth Gets or sets the width of the row header column.
Public property RowHeight Gets or sets the suggested height for all rows.
Public property RowStyle Gets or sets the style applied to all rows.
Public property RowStyleSelector Gets or sets the style selector for the rows.
Public property RowValidationErrorTemplate Gets or sets the template that is used to visually indicate an error in row validation.
Public property RowValidationRules Gets the rules that are used to validate the data in each row.
Public property Static member SelectAllCommand Represents the command that indicates the intention to select all cells in the DataGrid.
Public property SelectedCells Gets the list of cells that are currently selected.
Public property SelectedIndex Gets or sets the index of the first item in the current selection or returns negative one (-1) if the selection is empty. (Inherited from Selector.)
Public property SelectedItem Gets or sets the first item in the current selection or returns null if the selection is empty (Inherited from Selector.)
Public property SelectedItems Gets the items in the MultiSelector that are selected. (Inherited from MultiSelector.)
Public property SelectedValue Gets or sets the value of the SelectedItem, obtained by using SelectedValuePath. (Inherited from Selector.)
Public property SelectedValuePath Gets or sets the path that is used to get the SelectedValue from the SelectedItem. (Inherited from Selector.)
Public property SelectionMode Gets or sets a value that indicates how rows and cells are selected in the DataGrid.
Public property SelectionUnit Gets or sets a value that indicates whether rows, cells, or both can be selected in the DataGrid.
Public property SnapsToDevicePixels Gets or sets a value that determines whether rendering for this element should use device-specific pixel settings during rendering. This is a dependency property. (Inherited from UIElement.)
Public property Style Gets or sets the style used by this element when it is rendered. (Inherited from FrameworkElement.)
Protected property StylusPlugIns Gets a collection of all stylus plug-in (customization) objects associated with this element. (Inherited from UIElement.)
Public property TabIndex Gets or sets a value that determines the order in which elements receive focus when the user navigates through controls by using the TAB key. (Inherited from Control.)
Public property Tag Gets or sets an arbitrary object value that can be used to store custom information about this element. (Inherited from FrameworkElement.)
Public property Template Gets or sets a control template. (Inherited from Control.)
Public property TemplatedParent Gets a reference to the template parent of this element. This property is not relevant if the element was not created through a template. (Inherited from FrameworkElement.)
Public property ToolTip Gets or sets the tool-tip object that is displayed for this element in the user interface (UI). (Inherited from FrameworkElement.)
Public property TouchesCaptured Gets all touch devices that are captured to this element. (Inherited from UIElement.)
Public property TouchesCapturedWithin Gets all touch devices that are captured to this element or any child elements in its visual tree. (Inherited from UIElement.)
Public property TouchesDirectlyOver Gets all touch devices that are over this element. (Inherited from UIElement.)
Public property TouchesOver Gets all touch devices that are over this element or any child elements in its visual tree. (Inherited from UIElement.)
Public property Triggers Gets the collection of triggers established directly on this element, or in child elements. (Inherited from FrameworkElement.)
Public property Uid Gets or sets the unique identifier (for localization) for this element. This is a dependency property. (Inherited from UIElement.)
Public property UseLayoutRounding Gets or sets a value that indicates whether layout rounding should be applied to this element's size and position during layout. (Inherited from FrameworkElement.)
Public property VerticalAlignment Gets or sets the vertical alignment characteristics applied to this element when it is composed within a parent element such as a panel or items control. (Inherited from FrameworkElement.)
Public property VerticalContentAlignment Gets or sets the vertical alignment of the control's content. (Inherited from Control.)
Public property VerticalGridLinesBrush Gets or sets the brush that is used to draw the vertical grid lines.
Public property VerticalScrollBarVisibility Gets or sets a value that indicates how vertical scroll bars are displayed in the DataGrid.
Public property Visibility Gets or sets the user interface (UI) visibility of this element. This is a dependency property. (Inherited from UIElement.)
Protected property VisualBitmapEffect Obsolete. Gets or sets the BitmapEffect value for the Visual. (Inherited from Visual.)
Protected property VisualBitmapEffectInput Obsolete. Gets or sets the BitmapEffectInput value for the Visual. (Inherited from Visual.)
Protected property VisualBitmapScalingMode Gets or sets the BitmapScalingMode for the Visual. (Inherited from Visual.)
Protected property VisualCacheMode Gets or sets a cached representation of the Visual. (Inherited from Visual.)
Protected property VisualChildrenCount Gets the number of visual child elements within this element. (Inherited from FrameworkElement.)
Protected property VisualClearTypeHint Gets or sets the ClearTypeHint that determines how ClearType is rendered in the Visual. (Inherited from Visual.)
Protected property VisualClip Gets or sets the clip region of the Visual as a Geometry value. (Inherited from Visual.)
Protected property VisualEdgeMode Gets or sets the edge mode of the Visual as an EdgeMode value. (Inherited from Visual.)
Protected property VisualEffect Gets or sets the bitmap effect to apply to the Visual. (Inherited from Visual.)
Protected property VisualOffset Gets or sets the offset value of the visual object. (Inherited from Visual.)
Protected property VisualOpacity Gets or sets the opacity of the Visual. (Inherited from Visual.)
Protected property VisualOpacityMask Gets or sets the Brush value that represents the opacity mask of the Visual. (Inherited from Visual.)
Protected property VisualParent Gets the visual tree parent of the visual object. (Inherited from Visual.)
Protected property VisualScrollableAreaClip Gets or sets a clipped scrollable area for the Visual. (Inherited from Visual.)
Protected property VisualTextHintingMode Gets or sets the TextHintingMode of the Visual. (Inherited from Visual.)
Protected property VisualTextRenderingMode Gets or sets the TextRenderingMode of the Visual. (Inherited from Visual.)
Protected property VisualTransform Gets or sets the Transform value for the Visual. (Inherited from Visual.)
Protected property VisualXSnappingGuidelines Gets or sets the x-coordinate (vertical) guideline collection. (Inherited from Visual.)
Protected property VisualYSnappingGuidelines Gets or sets the y-coordinate (horizontal) guideline collection. (Inherited from Visual.)
Public property Width Gets or sets the width of the element. (Inherited from FrameworkElement.)
Top
  Name Description
Protected method AddChild Adds the specified object as the child of the ItemsControl object. (Inherited from ItemsControl.)
Public method AddHandler(RoutedEvent, Delegate) Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element. (Inherited from UIElement.)
Public method AddHandler(RoutedEvent, Delegate, Boolean) Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element. Specify handledEventsToo as true to have the provided handler be invoked for routed event that had already been marked as handled by another element along the event route. (Inherited from UIElement.)
Protected method AddLogicalChild Adds the provided object to the logical tree of this element. (Inherited from FrameworkElement.)
Protected method AddText Adds the specified text string to the ItemsControl object. (Inherited from ItemsControl.)
Public method AddToEventRoute Adds handlers to the specified EventRoute for the current UIElement event handler collection. (Inherited from UIElement.)
Protected method AddVisualChild Defines the parent-child relationship between two visuals. (Inherited from Visual.)
Public method ApplyAnimationClock(DependencyProperty, AnimationClock) Applies an animation to a specified dependency property on this element. Any existing animations are stopped and replaced with the new animation. (Inherited from UIElement.)
Public method ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) Applies an animation to a specified dependency property on this element, with the ability to specify what happens if the property already has a running animation. (Inherited from UIElement.)
Public method ApplyTemplate Builds the current template's visual tree if necessary, and returns a value that indicates whether the visual tree was rebuilt by this call. (Inherited from FrameworkElement.)
Public method Arrange Positions child elements and determines a size for a UIElement. Parent elements call this method from their ArrangeCore implementation (or a WPF framework-level equivalent) to form a recursive layout update. This method constitutes the second pass of a layout update. (Inherited from UIElement.)
Protected method ArrangeCore Implements ArrangeCore (defined as virtual in UIElement) and seals the implementation. (Inherited from FrameworkElement.)
Protected method ArrangeOverride Called to arrange and size the content of a Control object. (Inherited from Control.)
Public method BeginAnimation(DependencyProperty, AnimationTimeline) Starts an animation for a specified animated property on this element. (Inherited from UIElement.)
Public method BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) Starts a specific animation for a specified animated property on this element, with the option of specifying what happens if the property already has a running animation. (Inherited from UIElement.)
Public method BeginEdit() Invokes the BeginEdit command, which will place the current cell or row into edit mode.
Public method BeginEdit(RoutedEventArgs) Invokes the BeginEdit command, which will place the current cell or row into edit mode.
Public method BeginInit Indicates that the initialization of the ItemsControl object is about to start. (Inherited from ItemsControl.)
Public method BeginStoryboard(Storyboard) Begins the sequence of actions that are contained in the provided storyboard. (Inherited from FrameworkElement.)
Public method BeginStoryboard(Storyboard, HandoffBehavior) Begins the sequence of actions contained in the provided storyboard, with options specified for what should happen if the property is already animated. (Inherited from FrameworkElement.)
Public method BeginStoryboard(Storyboard, HandoffBehavior, Boolean) Begins the sequence of actions contained in the provided storyboard, with specified state for control of the animation after it is started. (Inherited from FrameworkElement.)
Protected method BeginUpdateSelectedItems Starts a new selection transaction. (Inherited from MultiSelector.)
Public method BringIntoView() Attempts to bring this element into view, within any scrollable regions it is contained within. (Inherited from FrameworkElement.)
Public method BringIntoView(Rect) Attempts to bring the provided region size of this element into view, within any scrollable regions it is contained within. (Inherited from FrameworkElement.)
Public method CancelEdit() Invokes the CancelEditCommand command for the cell or row currently in edit mode.
Public method CancelEdit(DataGridEditingUnit) Invokes the CancelEditCommand command for the specified cell or row in edit mode.
Public method CaptureMouse Attempts to force capture of the mouse to this element. (Inherited from UIElement.)
Public method CaptureStylus Attempts to force capture of the stylus to this element. (Inherited from UIElement.)
Public method CaptureTouch Attempts to force capture of a touch to this element. (Inherited from UIElement.)
Public method CheckAccess Determines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Protected method ClearContainerForItemOverride Unloads the row for the specified item. (Overrides Selector.ClearContainerForItemOverride(DependencyObject, Object).)
Public method ClearDetailsVisibilityForItem Clears the DetailsVisibility property for the DataGridRow that represents the specified data item.
Public method ClearValue(DependencyProperty) Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier. (Inherited from DependencyObject.)
Public method ClearValue(DependencyPropertyKey) Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey. (Inherited from DependencyObject.)
Public method CoerceValue Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject. (Inherited from DependencyObject.)
Public method ColumnFromDisplayIndex Gets the DataGridColumn at the specified index.
Public method CommitEdit() Invokes the CommitEditCommand command for the cell or row currently in edit mode.
Public method CommitEdit(DataGridEditingUnit, Boolean) Invokes the CommitEditCommand command for the specified cell or row currently in edit mode.
Public method ContainerFromElement(DependencyObject) Returns the container that belongs to the current ItemsControl that owns the given element. (Inherited from ItemsControl.)
Public method EndInit Indicates that the initialization of the ItemsControl object is complete. (Inherited from ItemsControl.)
Protected method EndUpdateSelectedItems Commits the selected items to the MultiSelector. (Inherited from MultiSelector.)
Public method Equals Determines whether a provided DependencyObject is equivalent to the current DependencyObject. (Inherited from DependencyObject.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method FindCommonVisualAncestor Returns the common ancestor of two visual objects. (Inherited from Visual.)
Public method FindName Finds an element that has the provided identifier name. (Inherited from FrameworkElement.)
Public method FindResource Searches for a resource with the specified key, and throws an exception if the requested resource is not found. (Inherited from FrameworkElement.)
Public method Focus Attempts to set focus to this element. (Inherited from UIElement.)
Public method Static member GenerateColumns Generates columns for the specified properties of an object.
Public method GetAnimationBaseValue Returns the base property value for the specified property on this element, disregarding any possible animated value from a running or stopped animation. (Inherited from UIElement.)
Public method GetBindingExpression Returns the BindingExpression that represents the binding on the specified property. (Inherited from FrameworkElement.)
Protected method GetContainerForItemOverride Instantiates a new DataGridRow. (Overrides ItemsControl.GetContainerForItemOverride().)
Public method GetDetailsVisibilityForItem Gets the DetailsVisibility property for the DataGridRow that represents the specified data item.
Public method GetHashCode Gets a hash code for this DependencyObject. (Inherited from DependencyObject.)
Protected method GetLayoutClip Returns a geometry for a clipping mask. The mask applies if the layout system attempts to arrange an element that is larger than the available display space. (Inherited from FrameworkElement.)
Public method GetLocalValueEnumerator Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject. (Inherited from DependencyObject.)
Protected method GetTemplateChild Returns the named element in the visual tree of an instantiated ControlTemplate. (Inherited from FrameworkElement.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method GetUIParentCore Returns an alternative logical parent for this element if there is no visual parent. (Inherited from FrameworkElement.)
Public method GetValue Returns the current effective value of a dependency property on this instance of a DependencyObject. (Inherited from DependencyObject.)
Protected method GetVisualChild Overrides Visual.GetVisualChild, and returns a child at the specified index from a collection of child elements. (Inherited from FrameworkElement.)
Protected method HitTestCore(GeometryHitTestParameters) Implements Visual.HitTestCore to supply base element hit testing behavior (returning GeometryHitTestResult). (Inherited from UIElement.)
Protected method HitTestCore(PointHitTestParameters) Implements HitTestCore to supply base element hit testing behavior (returning HitTestResult). (Inherited from UIElement.)
Public method InputHitTest Returns the input element within the current element that is at the specified coordinates, relative to the current element's origin. (Inherited from UIElement.)
Public method InvalidateArrange Invalidates the arrange state (layout) for the element. After the invalidation, the element will have its layout updated, which will occur asynchronously unless subsequently forced by UpdateLayout. (Inherited from UIElement.)
Public method InvalidateMeasure Invalidates the measurement state (layout) for the element. (Inherited from UIElement.)
Public method InvalidateProperty Re-evaluates the effective value for the specified dependency property (Inherited from DependencyObject.)
Public method InvalidateVisual Invalidates the rendering of the element, and forces a complete new layout pass. OnRender is called after the layout cycle is completed. (Inherited from UIElement.)
Public method IsAncestorOf Determines whether the visual object is an ancestor of the descendant visual object. (Inherited from Visual.)
Public method IsDescendantOf Determines whether the visual object is a descendant of the ancestor visual object. (Inherited from Visual.)
Protected method IsItemItsOwnContainerOverride Determines if an item is a DataGridRow. (Overrides ItemsControl.IsItemItsOwnContainerOverride(Object).)
Public method Measure Updates the DesiredSize of a UIElement. Parent elements call this method from their own MeasureCore implementations to form a recursive layout update. Calling this method constitutes the first pass (the "Measure" pass) of a layout update. (Inherited from UIElement.)
Protected method MeasureCore Implements basic measure-pass layout system behavior for FrameworkElement. (Inherited from FrameworkElement.)
Protected method MeasureOverride Determines the desired size of the DataGrid. (Overrides Control.MeasureOverride(Size).)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method MoveFocus Moves the keyboard focus away from this element and to another element in a provided traversal direction. (Inherited from FrameworkElement.)
Protected method OnAccessKey Provides class handling for when an access key that is meaningful for this element is invoked. (Inherited from UIElement.)
Protected method OnAlternationCountChanged Invoked when the AlternationCount property changes. (Inherited from ItemsControl.)
Public method OnApplyTemplate When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate. (Overrides FrameworkElement.OnApplyTemplate().)
Protected method OnAutoGeneratedColumns Raises the AutoGeneratedColumns event.
Protected method OnAutoGeneratingColumn Raises the AutoGeneratingColumn event.
Protected method OnBeginningEdit Raises the BeginningEdit event.
Protected method OnCanExecuteBeginEdit Provides handling for the CanExecute event associated with the BeginEditCommand command.
Protected method OnCanExecuteCancelEdit Provides handling for the CanExecute event associated with the CancelEditCommand command.
Protected method OnCanExecuteCommitEdit Provides handling for the CanExecute event associated with the CommitEditCommand command.
Protected method OnCanExecuteCopy Provides handling for the CanExecute event associated with the Copy command.
Protected method OnCanExecuteDelete Provides handling for the CanExecute event associated with the DeleteCommand command.
Protected method OnCellEditEnding Raises the CellEditEnding event.
Protected method OnChildDesiredSizeChanged Supports layout behavior when a child element is resized. (Inherited from UIElement.)
Protected method OnColumnDisplayIndexChanged Raises the ColumnDisplayIndexChanged event.
Protected method OnColumnHeaderDragCompleted Raises the ColumnHeaderDragCompleted event.
Protected method OnColumnHeaderDragDelta Raises the ColumnHeaderDragDelta event.
Protected method OnColumnHeaderDragStarted Raises the ColumnHeaderDragStarted event.
Protected method OnColumnReordered Raises the ColumnReordered event.
Protected method OnColumnReordering Raises the ColumnReordering event.
Protected method OnContextMenuClosing Invoked whenever an unhandled ContextMenuClosing routed event reaches this class in its route. Implement this method to add class handling for this event. (Inherited from FrameworkElement.)
Protected method OnContextMenuOpening Selects a cell if its context menu is opened. (Overrides FrameworkElement.OnContextMenuOpening(ContextMenuEventArgs).)
Protected method OnCopyingRowClipboardContent Raises the CopyingRowClipboardContent event.
Protected method OnCreateAutomationPeer Returns the automation peer for this DataGrid. (Overrides UIElement.OnCreateAutomationPeer().)
Protected method OnCurrentCellChanged Raises the CurrentCellChanged event.
Protected method OnDisplayMemberPathChanged Invoked when the DisplayMemberPath property changes. (Inherited from ItemsControl.)
Protected method OnDragEnter Invoked when an unhandled DragDrop.DragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnDragLeave Invoked when an unhandled DragDrop.DragLeave attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnDragOver Invoked when an unhandled DragDrop.DragOver attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnDrop Invoked when an unhandled DragDrop.DragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnExecutedBeginEdit Provides handling for the Executed event associated with the BeginEditCommand command.
Protected method OnExecutedCancelEdit Provides handling for the Executed event associated with the CancelEditCommand command.
Protected method OnExecutedCommitEdit Provides handling for the Executed event associated with the CommitEditCommand command.
Protected method OnExecutedCopy Provides handling for the Executed event associated with the Copy command.
Protected method OnExecutedDelete Provides handling for the Executed event associated with the DeleteCommand command.
Protected method OnGiveFeedback Invoked when an unhandled DragDrop.GiveFeedback attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnGotFocus Invoked whenever an unhandled GotFocus event reaches this element in its route. (Inherited from FrameworkElement.)
Protected method OnGotKeyboardFocus Invoked when an unhandled Keyboard.GotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnGotMouseCapture Invoked when an unhandled Mouse.GotMouseCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnGotStylusCapture Invoked when an unhandled Stylus.GotStylusCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnGotTouchCapture Provides class handling for the GotTouchCapture routed event that occurs when a touch is captured to this element. (Inherited from UIElement.)
Protected method OnGroupStyleSelectorChanged Invoked when the GroupStyleSelector property changes. (Inherited from ItemsControl.)
Protected method OnInitialized Raises the Initialized event. This method is invoked whenever IsInitialized is set to true internally. (Inherited from Selector.)
Protected method OnInitializingNewItem Raises the InitializingNewItem event.
Protected method OnIsKeyboardFocusedChanged Invoked when an unhandled IsKeyboardFocusedChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnIsKeyboardFocusWithinChanged Called when the IsKeyboardFocusWithin property has changed. (Inherited from Selector.)
Protected method OnIsMouseCapturedChanged Called when the IsMouseCaptured property changes on this element. (Overrides UIElement.OnIsMouseCapturedChanged(DependencyPropertyChangedEventArgs).)
Protected method OnIsMouseCaptureWithinChanged Invoked when an unhandled IsMouseCaptureWithinChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnIsMouseDirectlyOverChanged Invoked when an unhandled IsMouseDirectlyOverChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnIsStylusCapturedChanged Invoked when an unhandled IsStylusCapturedChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnIsStylusCaptureWithinChanged Invoked when an unhandled IsStylusCaptureWithinChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnIsStylusDirectlyOverChanged Invoked when an unhandled IsStylusDirectlyOverChanged event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnItemBindingGroupChanged Invoked when the ItemBindingGroup property changes. (Inherited from ItemsControl.)
Protected method OnItemContainerStyleChanged Invoked when the ItemContainerStyle property changes. (Inherited from ItemsControl.)
Protected method OnItemContainerStyleSelectorChanged Invoked when the ItemContainerStyleSelector property changes. (Inherited from ItemsControl.)
Protected method OnItemsChanged Performs column auto generation and updates validation flags when items change. (Overrides Selector.OnItemsChanged(NotifyCollectionChangedEventArgs).)
Protected method OnItemsPanelChanged Invoked when the ItemsPanel property changes. (Inherited from ItemsControl.)
Protected method OnItemsSourceChanged Invoked when the ItemsSource property changes. (Overrides Selector.OnItemsSourceChanged(IEnumerable, IEnumerable).)
Protected method OnItemStringFormatChanged Invoked when the ItemStringFormat property changes. (Inherited from ItemsControl.)
Protected method OnItemTemplateChanged Invoked when the ItemTemplate property changes. (Inherited from ItemsControl.)
Protected method OnItemTemplateSelectorChanged Invoked when the ItemTemplateSelector property changes. (Inherited from ItemsControl.)
Protected method OnKeyDown Invoked when the KeyDown event is received. (Overrides ItemsControl.OnKeyDown(KeyEventArgs).)
Protected method OnKeyUp Invoked when an unhandled Keyboard.KeyUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnLoadingRow Raises the LoadingRow event.
Protected method OnLoadingRowDetails Raises the LoadingRowDetails event.
Protected method OnLostFocus Raises the LostFocus routed event by using the event data that is provided. (Inherited from UIElement.)
Protected method OnLostKeyboardFocus Invoked when an unhandled Keyboard.LostKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnLostMouseCapture Invoked when an unhandled Mouse.LostMouseCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnLostStylusCapture Invoked when an unhandled Stylus.LostStylusCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnLostTouchCapture Provides class handling for the LostTouchCapture routed event that occurs when this element loses a touch capture. (Inherited from UIElement.)
Protected method OnManipulationBoundaryFeedback Called when the ManipulationBoundaryFeedback event occurs. (Inherited from UIElement.)
Protected method OnManipulationCompleted Called when the ManipulationCompleted event occurs. (Inherited from UIElement.)
Protected method OnManipulationDelta Called when the ManipulationDelta event occurs. (Inherited from UIElement.)
Protected method OnManipulationInertiaStarting Called when the ManipulationInertiaStarting event occurs. (Inherited from UIElement.)
Protected method OnManipulationStarted Called when the ManipulationStarted event occurs. (Inherited from UIElement.)
Protected method OnManipulationStarting Provides class handling for the ManipulationStarting routed event that occurs when the manipulation processor is first created. (Inherited from UIElement.)
Protected method OnMouseDoubleClick Raises the MouseDoubleClick routed event. (Inherited from Control.)
Protected method OnMouseDown Invoked when an unhandled Mouse.MouseDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseEnter Invoked when an unhandled Mouse.MouseEnter attached event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseLeave Invoked when an unhandled Mouse.MouseLeave attached event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseLeftButtonDown Invoked when an unhandled MouseLeftButtonDown routed event is raised on this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseLeftButtonUp Invoked when an unhandled MouseLeftButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseMove Updates the collection of items that are selected due to the user dragging the mouse in the DataGrid. (Overrides UIElement.OnMouseMove(MouseEventArgs).)
Protected method OnMouseRightButtonDown Invoked when an unhandled MouseRightButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseRightButtonUp Invoked when an unhandled MouseRightButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseUp Invoked when an unhandled Mouse.MouseUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnMouseWheel Invoked when an unhandled Mouse.MouseWheel attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreparingCellForEdit Raises the PreparingCellForEdit event.
Protected method OnPreviewDragEnter Invoked when an unhandled DragDrop.PreviewDragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewDragLeave Invoked when an unhandled DragDrop.PreviewDragLeave attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewDragOver Invoked when an unhandled DragDrop.PreviewDragOver attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewDrop Invoked when an unhandled DragDrop.PreviewDrop attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewGiveFeedback Invoked when an unhandled DragDrop.PreviewGiveFeedback attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewGotKeyboardFocus Invoked when an unhandled Keyboard.PreviewGotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewKeyDown Invoked when an unhandled Keyboard.PreviewKeyDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewKeyUp Invoked when an unhandled Keyboard.PreviewKeyUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewLostKeyboardFocus Invoked when an unhandled Keyboard.PreviewKeyDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseDoubleClick Raises the PreviewMouseDoubleClick routed event. (Inherited from Control.)
Protected method OnPreviewMouseDown Invoked when an unhandled Mouse.PreviewMouseDown attached routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseLeftButtonDown Invoked when an unhandled PreviewMouseLeftButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseLeftButtonUp Invoked when an unhandled PreviewMouseLeftButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseMove Invoked when an unhandled Mouse.PreviewMouseMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseRightButtonDown Invoked when an unhandled PreviewMouseRightButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseRightButtonUp Invoked when an unhandled PreviewMouseRightButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseUp Invoked when an unhandled Mouse.PreviewMouseUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewMouseWheel Invoked when an unhandled Mouse.PreviewMouseWheel attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewQueryContinueDrag Invoked when an unhandled DragDrop.PreviewQueryContinueDrag attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusButtonDown Invoked when an unhandled Stylus.PreviewStylusButtonDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusButtonUp Invoked when an unhandled Stylus.PreviewStylusButtonUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusDown Invoked when an unhandled Stylus.PreviewStylusDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusInAirMove Invoked when an unhandled Stylus.PreviewStylusInAirMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusInRange Invoked when an unhandled Stylus.PreviewStylusInRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusMove Invoked when an unhandled Stylus.PreviewStylusMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusOutOfRange Invoked when an unhandled Stylus.PreviewStylusOutOfRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusSystemGesture Invoked when an unhandled Stylus.PreviewStylusSystemGesture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewStylusUp Invoked when an unhandled Stylus.PreviewStylusUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewTextInput Invoked when an unhandled TextCompositionManager.PreviewTextInput attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnPreviewTouchDown Provides class handling for the PreviewTouchDown routed event that occurs when a touch presses this element. (Inherited from UIElement.)
Protected method OnPreviewTouchMove Provides class handling for the PreviewTouchMove routed event that occurs when a touch moves while inside this element. (Inherited from UIElement.)
Protected method OnPreviewTouchUp Provides class handling for the PreviewTouchUp routed event that occurs when a touch is released inside this element. (Inherited from UIElement.)
Protected method OnPropertyChanged Invoked whenever the effective value of any dependency property on this FrameworkElement has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides OnPropertyChanged. (Inherited from FrameworkElement.)
Protected method OnQueryContinueDrag Invoked when an unhandled DragDrop.QueryContinueDrag attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnQueryCursor Invoked when an unhandled Mouse.QueryCursor attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnRender When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing. (Inherited from UIElement.)
Protected method OnRenderSizeChanged Raises the SizeChanged event, using the specified information as part of the eventual event data. (Inherited from FrameworkElement.)
Protected method OnRowDetailsVisibilityChanged Raises the RowDetailsVisibilityChanged event.
Protected method OnRowEditEnding Raises the RowEditEnding event.
Protected method OnSelectedCellsChanged Raises the SelectedCellsChanged event.
Protected method OnSelectionChanged Invoked when the selection changes. (Overrides Selector.OnSelectionChanged(SelectionChangedEventArgs).)
Protected method OnSorting Raises the Sorting event.
Protected method OnStyleChanged Invoked when the style in use on this element changes, which will invalidate the layout. (Inherited from FrameworkElement.)
Protected method OnStylusButtonDown Invoked when an unhandled Stylus.StylusButtonDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusButtonUp Invoked when an unhandled Stylus.StylusButtonUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusDown Invoked when an unhandled Stylus.StylusDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusEnter Invoked when an unhandled Stylus.StylusEnter attached event is raised by this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusInAirMove Invoked when an unhandled Stylus.StylusInAirMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusInRange Invoked when an unhandled Stylus.StylusInRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusLeave Invoked when an unhandled Stylus.StylusLeave attached event is raised by this element. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusMove Invoked when an unhandled Stylus.StylusMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusOutOfRange Invoked when an unhandled Stylus.StylusOutOfRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusSystemGesture Invoked when an unhandled Stylus.StylusSystemGesture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnStylusUp Invoked when an unhandled Stylus.StylusUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event. (Inherited from UIElement.)
Protected method OnTemplateChanged Called whenever the template of the DataGrid changes. (Overrides Control.OnTemplateChanged(ControlTemplate, ControlTemplate).)
Protected method OnTextInput Invoked when the TextInput event is received. (Inherited from ItemsControl.)
Protected method OnToolTipClosing Invoked whenever an unhandled ToolTipClosing routed event reaches this class in its route. Implement this method to add class handling for this event. (Inherited from FrameworkElement.)
Protected method OnToolTipOpening Invoked whenever the ToolTipOpening routed event reaches this class in its route. Implement this method to add class handling for this event. (Inherited from FrameworkElement.)
Protected method OnTouchDown Provides class handling for the TouchDown routed event that occurs when a touch presses inside this element. (Inherited from UIElement.)
Protected method OnTouchEnter Provides class handling for the TouchEnter routed event that occurs when a touch moves from outside to inside the bounds of this element. (Inherited from UIElement.)
Protected method OnTouchLeave Provides class handling for the TouchLeave routed event that occurs when a touch moves from inside to outside the bounds of this UIElement. (Inherited from UIElement.)
Protected method OnTouchMove Provides class handling for the TouchMove routed event that occurs when a touch moves while inside this element. (Inherited from UIElement.)
Protected method OnTouchUp Provides class handling for the TouchUp routed event that occurs when a touch is released inside this element. (Inherited from UIElement.)
Protected method OnUnloadingRow Raises the UnloadingRow event.
Protected method OnUnloadingRowDetails Raises the UnloadingRowDetails event.
Protected method OnVisualChildrenChanged Called when the VisualCollection of the visual object is modified. (Inherited from Visual.)
Protected method OnVisualParentChanged Invoked when the parent of this element in the visual tree is changed. Overrides OnVisualParentChanged. (Inherited from FrameworkElement.)
Protected method ParentLayoutInvalidated Supports incremental layout implementations in specialized subclasses of FrameworkElement. ParentLayoutInvalidated is invoked when a child element has invalidated a property that is marked in metadata as affecting the parent's measure or arrange passes during layout. (Inherited from FrameworkElement.)
Public method PointFromScreen Converts a Point in screen coordinates into a Point that represents the current coordinate system of the Visual. (Inherited from Visual.)
Public method PointToScreen Converts a Point that represents the current coordinate system of the Visual into a Point in screen coordinates. (Inherited from Visual.)
Public method PredictFocus Determines the next element that would receive focus relative to this element for a provided focus movement direction, but does not actually move the focus. (Inherited from FrameworkElement.)
Protected method PrepareContainerForItemOverride Prepares a new row for the specified item. (Overrides Selector.PrepareContainerForItemOverride(DependencyObject, Object).)
Public method RaiseEvent Raises a specific routed event. The RoutedEvent to be raised is identified within the RoutedEventArgs instance that is provided (as the RoutedEvent property of that event data). (Inherited from UIElement.)
Public method ReadLocalValue Returns the local value of a dependency property, if it exists. (Inherited from DependencyObject.)
Public method RegisterName Provides an accessor that simplifies access to the NameScope registration method. (Inherited from FrameworkElement.)
Public method ReleaseAllTouchCaptures Releases all captured touch devices from this element. (Inherited from UIElement.)
Public method ReleaseMouseCapture Releases the mouse capture, if this element held the capture. (Inherited from UIElement.)
Public method ReleaseStylusCapture Releases the stylus device capture, if this element held the capture. (Inherited from UIElement.)
Public method ReleaseTouchCapture Attempts to release the specified touch device from this element. (Inherited from UIElement.)
Public method RemoveHandler Removes the specified routed event handler from this element. (Inherited from UIElement.)
Protected method RemoveLogicalChild Removes the provided object from this element's logical tree. FrameworkElement updates the affected logical tree parent pointers to keep in sync with this deletion. (Inherited from FrameworkElement.)
Protected method RemoveVisualChild Removes the parent-child relationship between two visuals. (Inherited from Visual.)
Public method ScrollIntoView(Object) Scrolls the DataGrid vertically to display the row for the specified data item.
Public method ScrollIntoView(Object, DataGridColumn) Scrolls the DataGrid vertically and horizontally to display a cell for the specified data item and column.
Public method SelectAll Selects all of the items in the MultiSelector. (Inherited from MultiSelector.)
Public method SelectAllCells Selects all the cells in the DataGrid.
Public method SetBinding(DependencyProperty, String) Attaches a binding to this element, based on the provided source property name as a path qualification to the data source. (Inherited from FrameworkElement.)
Public method SetBinding(DependencyProperty, BindingBase) Attaches a binding to this element, based on the provided binding object. (Inherited from FrameworkElement.)
Public method SetCurrentValue Sets the value of a dependency property without changing its value source. (Inherited from DependencyObject.)
Public method SetDetailsVisibilityForItem Sets the value of the DetailsVisibility property for the DataGridRow that contains the specified object.
Public method SetResourceReference Searches for a resource with the specified name and sets up a resource reference to it for the specified property. (Inherited from FrameworkElement.)
Public method SetValue(DependencyProperty, Object) Sets the local value of a dependency property, specified by its dependency property identifier. (Inherited from DependencyObject.)
Public method SetValue(DependencyPropertyKey, Object) Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property. (Inherited from DependencyObject.)
Protected method ShouldApplyItemContainerStyle Returns a value that indicates whether to apply the style from the ItemContainerStyle or ItemContainerStyleSelector property to the container element of the specified item. (Inherited from ItemsControl.)
Public method ShouldSerializeCommandBindings Returns whether serialization processes should serialize the contents of the CommandBindings property on instances of this class. (Inherited from UIElement.)
Public method ShouldSerializeGroupStyle Returns a value that indicates whether serialization processes should serialize the effective value of the GroupStyle property. (Inherited from ItemsControl.)
Public method ShouldSerializeInputBindings Returns whether serialization processes should serialize the contents of the InputBindings property on instances of this class. (Inherited from UIElement.)
Public method ShouldSerializeItems Returns a value that indicates whether serialization processes should serialize the effective value of the Items property. (Inherited from ItemsControl.)
Protected method ShouldSerializeProperty Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property. (Inherited from DependencyObject.)
Public method ShouldSerializeResources Returns whether serialization processes should serialize the contents of the Resources property. (Inherited from FrameworkElement.)
Public method ShouldSerializeStyle Returns whether serialization processes should serialize the contents of the Style property. (Inherited from FrameworkElement.)
Public method ShouldSerializeTriggers Returns whether serialization processes should serialize the contents of the Triggers property. (Inherited from FrameworkElement.)
Public method ToString Provides a string representation of the ItemsControl object. (Inherited from ItemsControl.)
Public method TransformToAncestor(Visual) Returns a transform that can be used to transform coordinates from the Visual to the specified Visual ancestor of the visual object. (Inherited from Visual.)
Public method TransformToAncestor(Visual3D) Returns a transform that can be used to transform coordinates from the Visual to the specified Visual3D ancestor of the visual object. (Inherited from Visual.)
Public method TransformToDescendant Returns a transform that can be used to transform coordinates from the Visual to the specified visual object descendant. (Inherited from Visual.)
Public method TransformToVisual Returns a transform that can be used to transform coordinates from the Visual to the specified visual object. (Inherited from Visual.)
Public method TranslatePoint Translates a point relative to this element to coordinates that are relative to the specified element. (Inherited from UIElement.)
Public method TryFindResource Searches for a resource with the specified key, and returns that resource if found. (Inherited from FrameworkElement.)
Public method UnregisterName Simplifies access to the NameScope de-registration method. (Inherited from FrameworkElement.)
Public method UnselectAll Unselects all of the items in the MultiSelector. (Inherited from MultiSelector.)
Public method UnselectAllCells Unselects all the cells in the DataGrid.
Public method UpdateLayout Ensures that all visual child elements of this element are properly updated for layout. (Inherited from UIElement.)
Public method VerifyAccess Enforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Top
  Name Description
Public event AutoGeneratedColumns Occurs when auto generation of all columns is completed.
Public event AutoGeneratingColumn Occurs when an individual column is auto-generated.
Public event BeginningEdit Occurs before a row or cell enters edit mode.
Public event CellEditEnding Occurs before a cell edit is committed or canceled.
Public event ColumnDisplayIndexChanged Occurs when the DisplayIndex property on one of the columns changes.
Public event ColumnHeaderDragCompleted Occurs when the user releases a column header after dragging it by using the mouse.
Public event ColumnHeaderDragDelta Occurs every time the mouse position changes while the user drags a column header.
Public event ColumnHeaderDragStarted Occurs when the user begins dragging a column header by using the mouse.
Public event ColumnReordered Occurs when a column moves to a new position in the display order.
Public event ColumnReordering Occurs before a column moves to a new position in the display order.
Public event ContextMenuClosing Occurs just before any context menu on the element is closed. (Inherited from FrameworkElement.)
Public event ContextMenuOpening Occurs when any context menu on the element is opened. (Inherited from FrameworkElement.)
Public event CopyingRowClipboardContent Occurs after the default row content is prepared.
Public event CurrentCellChanged Occurs when the value of the CurrentCell property has changed.
Public event DataContextChanged Occurs when the data context for this element changes. (Inherited from FrameworkElement.)
Public event DragEnter Occurs when the input system reports an underlying drag event with this element as the drag target. (Inherited from UIElement.)
Public event DragLeave Occurs when the input system reports an underlying drag event with this element as the drag origin. (Inherited from UIElement.)
Public event DragOver Occurs when the input system reports an underlying drag event with this element as the potential drop target. (Inherited from UIElement.)
Public event Drop Occurs when the input system reports an underlying drop event with this element as the drop target. (Inherited from UIElement.)
Public event FocusableChanged Occurs when the value of the Focusable property changes. (Inherited from UIElement.)
Public event GiveFeedback Occurs when the input system reports an underlying drag-and-drop event that involves this element. (Inherited from UIElement.)
Public event GotFocus Occurs when this element gets logical focus. (Inherited from UIElement.)
Public event GotKeyboardFocus Occurs when the keyboard is focused on this element. (Inherited from UIElement.)
Public event GotMouseCapture Occurs when this element captures the mouse. (Inherited from UIElement.)
Public event GotStylusCapture Occurs when this element captures the stylus. (Inherited from UIElement.)
Public event GotTouchCapture Occurs when a touch is captured to this element. (Inherited from UIElement.)
Public event Initialized Occurs when this FrameworkElement is initialized. This event coincides with cases where the value of the IsInitialized property changes from false (or undefined) to true. (Inherited from FrameworkElement.)
Public event InitializingNewItem Occurs when a new item is created.
Public event IsEnabledChanged Occurs when the value of the IsEnabled property on this element changes. (Inherited from UIElement.)
Public event IsHitTestVisibleChanged Occurs when the value of the IsHitTestVisible dependency property changes on this element. (Inherited from UIElement.)
Public event IsKeyboardFocusedChanged Occurs when the value of the IsKeyboardFocused property changes on this element. (Inherited from UIElement.)
Public event IsKeyboardFocusWithinChanged Occurs when the value of the IsKeyboardFocusWithinChanged property changes on this element. (Inherited from UIElement.)
Public event IsMouseCapturedChanged Occurs when the value of the IsMouseCaptured property changes on this element. (Inherited from UIElement.)
Public event IsMouseCaptureWithinChanged Occurs when the value of the IsMouseCaptureWithinProperty changes on this element. (Inherited from UIElement.)
Public event IsMouseDirectlyOverChanged Occurs when the value of the IsMouseDirectlyOver property changes on this element. (Inherited from UIElement.)
Public event IsStylusCapturedChanged Occurs when the value of the IsStylusCaptured property changes on this element. (Inherited from UIElement.)
Public event IsStylusCaptureWithinChanged Occurs when the value of the IsStylusCaptureWithin property changes on this element. (Inherited from UIElement.)
Public event IsStylusDirectlyOverChanged Occurs when the value of the IsStylusDirectlyOver property changes on this element. (Inherited from UIElement.)
Public event IsVisibleChanged Occurs when the value of the IsVisible property changes on this element. (Inherited from UIElement.)
Public event KeyDown Occurs when a key is pressed while focus is on this element. (Inherited from UIElement.)
Public event KeyUp Occurs when a key is released while focus is on this element. (Inherited from UIElement.)
Public event LayoutUpdated Occurs when the layout of the various visual elements associated with the current Dispatcher changes. (Inherited from UIElement.)
Public event Loaded Occurs when the element is laid out, rendered, and ready for interaction. (Inherited from FrameworkElement.)
Public event LoadingRow Occurs after a DataGridRow is instantiated, so that you can customize it before it is used.
Public event LoadingRowDetails Occurs when a new row details template is applied to a row.
Public event LostFocus Occurs when this element loses logical focus. (Inherited from UIElement.)
Public event LostKeyboardFocus Occurs when the keyboard is no longer focused on this element,. (Inherited from UIElement.)
Public event LostMouseCapture Occurs when this element loses mouse capture. (Inherited from UIElement.)
Public event LostStylusCapture Occurs when this element loses stylus capture. (Inherited from UIElement.)
Public event LostTouchCapture Occurs when this element loses a touch capture. (Inherited from UIElement.)
Public event ManipulationBoundaryFeedback Occurs when the manipulation encounters a boundary. (Inherited from UIElement.)
Public event ManipulationCompleted Occurs when a manipulation and inertia on the UIElement object is complete. (Inherited from UIElement.)
Public event ManipulationDelta Occurs when the input device changes position during a manipulation. (Inherited from UIElement.)
Public event ManipulationInertiaStarting Occurs when the input device loses contact with the UIElement object during a manipulation and inertia begins. (Inherited from UIElement.)
Public event ManipulationStarted Occurs when an input device begins a manipulation on the UIElement object. (Inherited from UIElement.)
Public event ManipulationStarting Occurs when the manipulation processor is first created. (Inherited from UIElement.)
Public event MouseDoubleClick Occurs when a mouse button is clicked two or more times. (Inherited from Control.)
Public event MouseDown Occurs when any mouse button is pressed while the pointer is over this element. (Inherited from UIElement.)
Public event MouseEnter Occurs when the mouse pointer enters the bounds of this element. (Inherited from UIElement.)
Public event MouseLeave Occurs when the mouse pointer leaves the bounds of this element. (Inherited from UIElement.)
Public event MouseLeftButtonDown Occurs when the left mouse button is pressed while the mouse pointer is over this element. (Inherited from UIElement.)
Public event MouseLeftButtonUp Occurs when the left mouse button is released while the mouse pointer is over this element. (Inherited from UIElement.)
Public event MouseMove Occurs when the mouse pointer moves while over this element. (Inherited from UIElement.)
Public event MouseRightButtonDown Occurs when the right mouse button is pressed while the mouse pointer is over this element. (Inherited from UIElement.)
Public event MouseRightButtonUp Occurs when the right mouse button is released while the mouse pointer is over this element. (Inherited from UIElement.)
Public event MouseUp Occurs when any mouse button is released over this element. (Inherited from UIElement.)
Public event MouseWheel Occurs when the user rotates the mouse wheel while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreparingCellForEdit Occurs when a cell enters edit mode.
Public event PreviewDragEnter Occurs when the input system reports an underlying drag event with this element as the drag target. (Inherited from UIElement.)
Public event PreviewDragLeave Occurs when the input system reports an underlying drag event with this element as the drag origin. (Inherited from UIElement.)
Public event PreviewDragOver Occurs when the input system reports an underlying drag event with this element as the potential drop target. (Inherited from UIElement.)
Public event PreviewDrop Occurs when the input system reports an underlying drop event with this element as the drop target. (Inherited from UIElement.)
Public event PreviewGiveFeedback Occurs when a drag-and-drop operation is started. (Inherited from UIElement.)
Public event PreviewGotKeyboardFocus Occurs when the keyboard is focused on this element. (Inherited from UIElement.)
Public event PreviewKeyDown Occurs when a key is pressed while focus is on this element. (Inherited from UIElement.)
Public event PreviewKeyUp Occurs when a key is released while focus is on this element. (Inherited from UIElement.)
Public event PreviewLostKeyboardFocus Occurs when the keyboard is no longer focused on this element. (Inherited from UIElement.)
Public event PreviewMouseDoubleClick Occurs when a user clicks the mouse button two or more times. (Inherited from Control.)
Public event PreviewMouseDown Occurs when any mouse button is pressed while the pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseLeftButtonDown Occurs when the left mouse button is pressed while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseLeftButtonUp Occurs when the left mouse button is released while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseMove Occurs when the mouse pointer moves while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseRightButtonDown Occurs when the right mouse button is pressed while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseRightButtonUp Occurs when the right mouse button is released while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseUp Occurs when any mouse button is released while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewMouseWheel Occurs when the user rotates the mouse wheel while the mouse pointer is over this element. (Inherited from UIElement.)
Public event PreviewQueryContinueDrag Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation. (Inherited from UIElement.)
Public event PreviewStylusButtonDown Occurs when the stylus button is pressed while the pointer is over this element. (Inherited from UIElement.)
Public event PreviewStylusButtonUp Occurs when the stylus button is released while the pointer is over this element. (Inherited from UIElement.)
Public event PreviewStylusDown Occurs when the stylus touches the digitizer while it is over this element. (Inherited from UIElement.)
Public event PreviewStylusInAirMove Occurs when the stylus moves over an element without actually touching the digitizer. (Inherited from UIElement.)
Public event PreviewStylusInRange Occurs when the stylus is close enough to the digitizer to be detected, while over this element. (Inherited from UIElement.)
Public event PreviewStylusMove Occurs when the stylus moves while over the element. The stylus must move while being detected by the digitizer to raise this event, otherwise, PreviewStylusInAirMove is raised instead. (Inherited from UIElement.)
Public event PreviewStylusOutOfRange Occurs when the stylus is too far from the digitizer to be detected. (Inherited from UIElement.)
Public event PreviewStylusSystemGesture Occurs when a user performs one of several stylus gestures. (Inherited from UIElement.)
Public event PreviewStylusUp Occurs when the user raises the stylus off the digitizer while the stylus is over this element. (Inherited from UIElement.)
Public event PreviewTextInput Occurs when this element gets text in a device-independent manner. (Inherited from UIElement.)
Public event PreviewTouchDown Occurs when a finger touches the screen while the finger is over this element. (Inherited from UIElement.)
Public event PreviewTouchMove Occurs when a finger moves on the screen while the finger is over this element. (Inherited from UIElement.)
Public event PreviewTouchUp Occurs when a finger is raised off of the screen while the finger is over this element. (Inherited from UIElement.)
Public event QueryContinueDrag Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation. (Inherited from UIElement.)
Public event QueryCursor Occurs when the cursor is requested to display. This event is raised on an element each time that the mouse pointer moves to a new location, which means the cursor object might need to be changed based on its new position. (Inherited from UIElement.)
Public event RequestBringIntoView Occurs when BringIntoView is called on this element. (Inherited from FrameworkElement.)
Public event RowDetailsVisibilityChanged Occurs when the visibility of a row details element changes.
Public event RowEditEnding Occurs before a row edit is committed or canceled.
Public event SelectedCellsChanged Occurs when the SelectedCells collection changes.
Public event SelectionChanged Occurs when the selection of a Selector changes. (Inherited from Selector.)
Public event SizeChanged Occurs when either the ActualHeight or the ActualWidth properties change value on this element. (Inherited from FrameworkElement.)
Public event Sorting Occurs when a column is being sorted.
Public event SourceUpdated Occurs when the source value changes for any existing property binding on this element. (Inherited from FrameworkElement.)
Public event StylusButtonDown Occurs when the stylus button is pressed while the pointer is over this element. (Inherited from UIElement.)
Public event StylusButtonUp Occurs when the stylus button is released while the pointer is over this element. (Inherited from UIElement.)
Public event StylusDown Occurs when the stylus touches the digitizer while the stylus is over this element. (Inherited from UIElement.)
Public event StylusEnter Occurs when the stylus enters the bounds of this element. (Inherited from UIElement.)
Public event StylusInAirMove Occurs when the stylus moves over an element without actually touching the digitizer. (Inherited from UIElement.)
Public event StylusInRange Occurs when the stylus is close enough to the digitizer to be detected, while over this element. (Inherited from UIElement.)
Public event StylusLeave Occurs when the stylus leaves the bounds of the element. (Inherited from UIElement.)
Public event StylusMove Occurs when the stylus moves over this element. The stylus must move while on the digitizer to raise this event. Otherwise, StylusInAirMove is raised instead. (Inherited from UIElement.)
Public event StylusOutOfRange Occurs when the stylus is too far from the digitizer to be detected, while over this element. (Inherited from UIElement.)
Public event StylusSystemGesture Occurs when a user performs one of several stylus gestures. (Inherited from UIElement.)
Public event StylusUp Occurs when the user raises the stylus off the digitizer while it is over this element. (Inherited from UIElement.)
Public event TargetUpdated Occurs when the target value changes for any property binding on this element. (Inherited from FrameworkElement.)
Public event TextInput Occurs when this element gets text in a device-independent manner. (Inherited from UIElement.)
Public event ToolTipClosing Occurs just before any tooltip on the element is closed. (Inherited from FrameworkElement.)
Public event ToolTipOpening Occurs when any tooltip on the element is opened. (Inherited from FrameworkElement.)
Public event TouchDown Occurs when a finger touches the screen while the finger is over this element. (Inherited from UIElement.)
Public event TouchEnter Occurs when a touch moves from outside to inside the bounds of this element. (Inherited from UIElement.)
Public event TouchLeave Occurs when a touch moves from inside to outside the bounds of this element. (Inherited from UIElement.)
Public event TouchMove Occurs when a finger moves on the screen while the finger is over this element. (Inherited from UIElement.)
Public event TouchUp Occurs when a finger is raised off of the screen while the finger is over this element. (Inherited from UIElement.)
Public event Unloaded Occurs when the element is removed from within an element tree of loaded elements. (Inherited from FrameworkElement.)
Public event UnloadingRow Occurs when a DataGridRow object becomes available for reuse.
Public event UnloadingRowDetails Occurs when a row details element becomes available for reuse.
Top
  Name Description
Public field Static member AlternatingRowBackgroundProperty Identifies the AlternatingRowBackground dependency property.
Public field Static member AreRowDetailsFrozenProperty Identifies the AreRowDetailsFrozen dependency property.
Public field Static member AutoGenerateColumnsProperty Identifies the AutoGenerateColumns dependency property.
Public field Static member BeginEditCommand Represents the command that indicates the intention to begin editing the current cell or row of the DataGrid.
Public field Static member CancelEditCommand Represents the command that indicates the intention to cancel any pending changes to the current cell or row and revert to the state before the BeginEditCommand command was executed.
Public field Static member CanUserAddRowsProperty Identifies the CanUserAddRows dependency property.
Public field Static member CanUserDeleteRowsProperty Identifies the CanUserDeleteRows dependency property.
Public field Static member CanUserReorderColumnsProperty Identifies the CanUserReorderColumns dependency property.
Public field Static member CanUserResizeColumnsProperty Identifies the CanUserResizeColumns dependency property.
Public field Static member CanUserResizeRowsProperty Identifies the CanUserResizeRows dependency property.
Public field Static member CanUserSortColumnsProperty Identifies the CanUserSortColumns dependency property.
Public field Static member CellsPanelHorizontalOffsetProperty Identifies the CellsPanelHorizontalOffset dependency property.
Public field Static member CellStyleProperty Identifies the CellStyle dependency property.
Public field Static member ClipboardCopyModeProperty Identifies the ClipboardCopyMode dependency property.
Public field Static member ColumnHeaderHeightProperty Identifies the ColumnHeaderHeight dependency property.
Public field Static member ColumnHeaderStyleProperty Identifies the ColumnHeaderStyle dependency property.
Public field Static member ColumnWidthProperty Identifies the ColumnWidth dependency property.
Public field Static member CommitEditCommand Represents the command that indicates the intention to commit pending changes to the current cell or row and exit edit mode.
Public field Static member CurrentCellProperty Identifies the CurrentCell dependency property.
Public field Static member CurrentColumnProperty Identifies the CurrentColumn dependency property.
Public field Static member CurrentItemProperty Identifies the CurrentItem dependency property.
Public field Static member DragIndicatorStyleProperty Identifies the DragIndicatorStyle dependency property.
Public field Static member DropLocationIndicatorStyleProperty Identifies the DropLocationIndicatorStyle dependency property.
Public field Static member EnableColumnVirtualizationProperty Identifies the EnableColumnVirtualization dependency property.
Public field Static member EnableRowVirtualizationProperty Identifies the EnableRowVirtualization dependency property.
Public field Static member FrozenColumnCountProperty Identifies the FrozenColumnCount dependency property.
Public field Static member GridLinesVisibilityProperty Identifies the GridLinesVisibility dependency property.
Public field Static member HeadersVisibilityProperty Identifies the HeadersVisibility dependency property.
Public field Static member HorizontalGridLinesBrushProperty Identifies the HorizontalGridLinesBrush dependency property.
Public field Static member HorizontalScrollBarVisibilityProperty Identifies the HorizontalScrollBarVisibility dependency property.
Public field Static member IsReadOnlyProperty Identifies the IsReadOnly dependency property.
Public field Static member MaxColumnWidthProperty Identifies the MaxColumnWidth dependency property.
Public field Static member MinColumnWidthProperty Identifies the MinColumnWidth dependency property.
Public field Static member MinRowHeightProperty Identifies the MinRowHeight dependency property.
Public field Static member NonFrozenColumnsViewportHorizontalOffsetProperty Identifies the NonFrozenColumnsViewportHorizontalOffset dependency property.
Public field Static member RowBackgroundProperty Identifies the RowBackground dependency property.
Public field Static member RowDetailsTemplateProperty Identifies the RowDetailsTemplate dependency property.
Public field Static member RowDetailsTemplateSelectorProperty Identifies the RowDetailsTemplateSelector dependency property.
Public field Static member RowDetailsVisibilityModeProperty Identifies the RowDetailsVisibilityMode dependency property.
Public field Static member RowHeaderActualWidthProperty Identifies the RowHeaderActualWidth dependency property.
Public field Static member RowHeaderStyleProperty Identifies the RowHeaderStyle dependency property.
Public field Static member RowHeaderTemplateProperty Identifies the RowHeaderTemplate dependency property.
Public field Static member RowHeaderTemplateSelectorProperty Identifies the RowHeaderTemplateSelector dependency property.
Public field Static member RowHeaderWidthProperty Identifies the RowHeaderWidth dependency property.
Public field Static member RowHeightProperty Identifies the RowHeight dependency property.
Public field Static member RowStyleProperty Identifies the RowStyle dependency property.
Public field Static member RowStyleSelectorProperty Identifies the RowStyleSelector dependency property.
Public field Static member RowValidationErrorTemplateProperty Identifies the RowValidationErrorTemplate dependency property.
Public field Static member SelectionModeProperty Identifies the SelectionMode dependency property.
Public field Static member SelectionUnitProperty Identifies the SelectionUnit dependency property.
Public field Static member VerticalGridLinesBrushProperty Identifies the VerticalGridLinesBrush dependency property.
Public field Static member VerticalScrollBarVisibilityProperty Identifies the VerticalScrollBarVisibility dependency property.
Top
  Name Description
Explicit interface implemetation Private method IAddChild.AddChild This member supports the Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. (Inherited from ItemsControl.)
Explicit interface implemetation Private method IAddChild.AddText This member supports the Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. (Inherited from ItemsControl.)
Explicit interface implemetation Private method IQueryAmbient.IsAmbientPropertyAvailable For a description of this member, see the IsAmbientPropertyAvailable method. (Inherited from FrameworkElement.)
Top

The DataGrid control provides a flexible way to display a collection of data in rows and columns. The DataGrid includes built-in column types and a template column for hosting custom content. The built-in row type includes a drop-down details section that you can use to display additional content below the cell values.

Binding to Data

To bind the DataGrid to data, set the ItemsSource property to an IEnumerable implementation. Each row in the data grid is bound to an object in the data source, and each column in the data grid is bound to a property of the data object. In order for the DataGrid user interface to update automatically when items are added to or removed from the source data, the DataGrid must be bound to a collection that implements the INotifyCollectionChanged interface, such as an ObservableCollection<T>. To automatically reflect property changes, the objects in the source collection must implement the INotifyPropertyChanged interface. For more information, see Data Binding (WPF).

Columns

By default, the DataGrid control generates columns automatically when you set the ItemsSource property. The type of column that is generated depends on the type of data in the column. The following table lists the generated columns types.

The following illustration shows each of the column types.

DataGrid with all four default column types

When columns are auto-generated, you can handle the AutoGeneratingColumn event to customize or cancel columns before they are added to the DataGrid. If you add both user-defined columns and auto-generated columns to the DataGrid, the user-defined columns are added first. To rearrange the display order of the columns, you can set the DisplayIndex property for individual columns.

You can prevent automatic column generation by setting the AutoGenerateColumns property to false. This is useful if you want to create and configure all columns explicitly.

Use the DataGridTemplateColumn type to define a custom column if the built-in column types do not meet your needs. The DataGridTemplateColumn type provides CellTemplate and CellEditingTemplate properties that enable you to specify content templates for both display and editing modes. For example, you could define a custom column for dates. The CellTemplate could define a TextBlock to display a date, and the CellEditingTemplate could define a DatePicker control to edit the date.

You can use the Columns collection to programmatically add, insert, remove, and change any columns in the control at run time. Check the IsAutoGenerated property to determine whether a column is auto generated or user defined. Auto-generated columns will be automatically added, removed, or regenerated when the ItemsSource changes.

Selection

By default, the entire row is selected when a user clicks a cell in a DataGrid, and a user can select multiple rows. You can set the SelectionMode property to specify whether a user can select cells, full rows, or both. Set the SelectionUnit property to specify whether multiple rows or cells can be selected, or only single rows or cells.

You can get information about the cells that are selected from the SelectedCells property. You can get information about cells for which selection has changed in the SelectedCellsChangedEventArgs of the SelectedCellsChanged event. Call the SelectAllCells or UnselectAllCells methods to programmatically select or unselect all cells. For more information, see Default Keyboard and Mouse Behavior in the DataGrid Control.

Grouping, Sorting, and Filtering

By default, you can sort items in a DataGrid by clicking the column header. You can customize sorting by handling the Sorting event. To cancel the default sort, set the Handled property to true. You can also sort the source data before it is displayed in the DataGrid.

To group, sort, and filter data in the DataGrid, you bind the DataGrid to an ICollectionView implementation that supports these operations. You then perform the operations on the collection view. When items are grouped in the DataGrid, you can define a GroupStyle that specifies the appearance of each group. You apply the GroupStyle by adding it to the GroupStyle collection of the DataGrid. If you have multiple levels of grouping, you can apply different styles to each group level. Styles are applied in the order in which they are defined. For more information, see How to: Group, Sort, and Filter Data in the DataGrid Control.

Editing

By default, you can edit items directly in the DataGrid. To guarantee that edits can be committed and canceled correctly, the objects in the DataGrid must implement the IEditableObject interface. Alternatively, you can set the IsReadOnly property to true to disable editing in the DataGrid.

The DataGrid has built-in support for the following editing commands:

Command

Default Input Binding

BeginEditCommand

F2

CancelEditCommand

ESC

CommitEditCommand

ENTER

DeleteCommand

DELETE

You put the current cell into edit mode by clicking it or pressing F2. A cell-level edit is committed when you move to another cell in the same row or press ENTER while the cell is in edit mode. All edits in a row are committed when you move to another row or press ENTER while the row is in edit mode. You cancel a cell edit by pressing ESC one time, and cancel all edits in a row by pressing ESC two times. For more information about programmatically committing and canceling edits, see the BeginEdit, CommitEdit, and CancelEdit methods. For more information about edit-related events, see BeginningEdit, PreparingCellForEdit, CellEditEnding, and RowEditEnding.

Set the CanUserAddRows and CanUserDeleteRows properties to specify whether a user can add or delete rows. A user can delete selected rows by pressing the DELETE key. If the CanUserAddRows property is set to true, a new item row is added as the last row in the DataGrid. You can set default values for new items by handling the InitializingNewItem event.

Note Note

Whether editing actions are allowed is influenced by a variety of additional factors, including the IsReadOnly and IsEnabled state of the DataGrid, and whether the underlying data collection allows the action.

Validation

The DataGrid enables you to perform validation at both the cell and row level. With cell-level validation, you validate individual properties of a bound data object when a user updates a value. With row-level validation, you validate entire data objects when a user commits changes to a row. You can provide customized visual feedback for row-level validation errors by setting the RowValidationErrorTemplate property, or you can use the default error indicator. To create a custom validation rule, create a class that derives from the ValidationRule class and implement the Validate method. Add the custom validation rule to the RowValidationRules collection.

Customizing the DataGrid Control

The DataGrid control supports common table formatting options, such as alternating row backgrounds and the ability to show or hide headers, gridlines, and scroll bars. Additionally, the control provides several style and template properties that you can use to completely change the appearance of the control and its rows, columns, headers, and cells.

To customize DataGrid behavior, you can handle events for selection change, cell editing, and column re-ordering. The DataGrid also exposes several events for row recycling that you can handle to customize rows.

To apply the same property settings to multiple DataGrid controls, use the Style property. You can modify the default ControlTemplate to give the control a unique appearance. For more information about creating a ControlTemplate, see Customizing the Appearance of an Existing Control by Creating a ControlTemplate. To see the parts and states that are specific to the DataGrid, see DataGrid Styles and Templates.

Dependency properties for this control might be set by the control’s default style. If a property is set by a default style, the property might change from its default value when the control appears in the application. The default style is determined by which desktop theme is used when the application is running. For more information, see Default WPF Themes.

Note Note

Setting a visual property will only have an effect if that property is both present in the DataGrid control's default template and is set by using a TemplateBinding. You can find a list of visual properties in the "Changing the Visual Structure of a Control" section in Customizing the Appearance of an Existing Control by Creating a ControlTemplate.

Common Tasks

The following table provides information about tasks that are typically associated with the DataGrid.

Task

Implementation

Set alternating row background colors

Set the AlternationIndex property to 2 or more, and then assign a Brush to the RowBackground and AlternatingRowBackground properties.

Define cell and row selection behavior

Set the SelectionMode and SelectionUnit properties.

Customize the visual appearance of headers, cells and rows

Apply a new Style to the ColumnHeaderStyle, RowHeaderStyle, CellStyle, or RowStyle properties.

Set sizing options

Set the Height, MaxHeight, MinHeight, Width, MaxWidth, or MinWidth properties. For more information, see Sizing Options in the DataGrid Control.

Access selected items

Check the SelectedCells property to get the selected cells and check the SelectedItems property to get the selected rows. For more information, see the SelectedCells property.

Customize end-user interactions

Set the CanUserAddRows, CanUserDeleteRows, CanUserReorderColumns, CanUserResizeColumns, CanUserResizeRows, and CanUserSortColumns properties.

Cancel or change auto-generated columns

Handle the AutoGeneratingColumn event.

Freeze a column

Set the FrozenColumnCount property to 1 and move the column to the left-most position by setting the DisplayIndex property to 0.

Use XML data as the data source

Bind the ItemsSource on the DataGrid to the XPath query representing the collection of items. Create each column in the DataGrid. Bind each column by setting the XPath on the binding to the query that gets the property on the item source. For an example, see DataGridTextColumn.

Group items

Bind to a CollectionView or CollectionViewSource that supports grouping. For more information, see How to: Group, Sort, and Filter Data in the DataGrid Control.

Display the details section for a row

Define a RowDetailsTemplate to specify the appearance of the details section. Set the RowDetailsVisibilityMode to specify when the details section is shown. For more information, see How to: Add Row Details to a DataGrid Control.

The following example shows how to bind a DataGrid to a DataTable and use column auto-generation. The DataTable is populated by using the Fill method of a DataAdapter from a DataSet. For more information, see Creating a DataSet (ADO.NET) and Populating a DataSet from a DataAdapter (ADO.NET). To use the WPF Designer for Visual Studio, see How to: Bind WPF Controls to Data in Visual Studio.


<DataGrid x:Name="CustomerGrid" ItemsSource="{Binding}" AlternatingRowBackground="LightBlue" AlternationCount="2" />



//Set the DataGrid's DataContext to be a filled DataTable
CustomerGrid.DataContext = custDataTable;


The following example shows how to create a DataGrid with a customized Columns collection.


    <NavigationWindow x:Class="DataGrid_CustomColumns.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:core="clr-namespace:System;assembly=mscorlib"
        xmlns:local="clr-namespace:DataGrid_CustomColumns"
        Title="Customers" Height="300" Width="300" ShowsNavigationUI="False"  >

    <NavigationWindow.Resources>
        <!--Create list of enumeration values-->
        <ObjectDataProvider x:Key="myEnum" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type Type="local:OrderStatus"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
        <!--Create an instance of the converter for Email-->
        <local:EmailConverter x:Key="EmailConverter" />
    </NavigationWindow.Resources>
    <NavigationWindow.Content>  

    <Grid>
        <DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="First Name"  Binding="{Binding FirstName}"/>
                <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
                <!--The Email property contains a URI.  For example "mailto:lucy0@adventure-works.com"-->
                <DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}"  ContentBinding="{Binding Email, Converter={StaticResource EmailConverter}}" />
                <DataGridCheckBoxColumn Header="Member?" Binding="{Binding IsMember}" />
                <DataGridComboBoxColumn Header="Order Status"  SelectedItemBinding="{Binding Status}" ItemsSource="{Binding Source={StaticResource myEnum}}" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
    </NavigationWindow.Content>
</NavigationWindow>



//Additional using statements
using System.Data;
using System.Collections.ObjectModel;
using System.Diagnostics;


...


public partial class Window1 : NavigationWindow
{


...


public Window1()
{
    InitializeComponent();

    //GetData() creates a collection of Customer data from a database
    ObservableCollection<Customer> custdata = GetData();

    //Bind the DataGrid to the customer data
    DG1.DataContext = custdata;

}


...


//Defines the customer object
public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Uri Email { get; set; }
    public bool IsMember { get; set; }
    public OrderStatus Status { get; set; }

}


...


}


...


public enum OrderStatus { None, New, Processing, Shipped, Received };


...


//Converts the mailto uri to a string with just the customer alias
public class EmailConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value != null)
        {
            string email = value.ToString();
            int index = email.IndexOf("@");
            string alias = email.Substring(7, index-7);
            return alias;
        }
        else
        {
            string email = "";
            return email;
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        Uri email = new Uri((string)value);
        return email;
    }
}


.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
DataGrid is not in System.Windows.Controls
DataGrid is not in System.Windows.Controls as documented here. It's in Microsoft.Windows.Controls.
How to: Implement Validation with the DataGrid Control
How to: Implement Validation with the DataGrid Control:
http://msdn.microsoft.com/en-us/library/ee622975.aspx

This is a useful link that could probably live in the See Also section.

Note that the DataGrid validation does not support modifying a valid row while an existing row is invalid-- clicking on any other DataGridCell will not put it into Edit mode.
Data not getting copied to clipboard from DataGrid
I have a DataGrid displaying some data, but when I copy and try to paste into excel, no data is copied. I checked the clipboard content and found that there is no data in the clipboard excelpt new lines. Also, ClipboardCopyMode is set to InlcudeHeader. Interestingly, header gets copied but not the data(only new lines).
TextSearch is not supported by DataGrid
Even if DataGrid has some inherited properties from ItemsControl, TextSearch is not supported.