Skip to main content

TreeDataGrid Class

Definition

Assembly:Avalonia.Controls.TreeDataGrid
Package:Avalonia.Controls.TreeDataGrid

Represents a control that displays hierarchical and tabular data together in a single view. It is a combination of a TreeView and DataGrid control.

public class TreeDataGrid

Inheritance: object -> AvaloniaObject -> Animatable -> StyledElement -> Visual -> Layoutable -> Interactive -> InputElement -> Control -> TemplatedControl -> TreeDataGrid

Remarks

The TreeDataGrid supports both flat (2D table) and hierarchical (tree with columns) layouts, making it suitable for a variety of data visualization needs.

Key features include:

  • Supports both row selection and cell selection modes
  • Column sorting capabilities
  • Support for various column types (Text, CheckBox, Template)
  • MVVM-first data model
  • Drag and drop functionality for rows

Constructors

NameDescription
TreeDataGridInitializes a new instance of the Avalonia.Controls.TreeDataGrid class.

TreeDataGrid Constructor

Initializes a new instance of the Avalonia.Controls.TreeDataGrid class.

public TreeDataGrid()

Methods

NameDescription
TryGetCell (2 overloads)No summary available.
TryGetRow (2 overloads)No summary available.
TryGetRowModelNo summary available.
ApplyTemplateCreates the visual children of the control, if necessary Inherited from TemplatedControl.
GetIsTemplateFocusTargetGets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl.
SetIsTemplateFocusTargetSets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl.
FocusFocuses the control. Inherited from InputElement.
GetIsHoldWithMouseEnabledInherited from InputElement.
GetIsHoldingEnabledInherited from InputElement.
SetIsHoldWithMouseEnabledInherited from InputElement.
SetIsHoldingEnabledInherited from InputElement.
AddHandler (2 overloads)Adds a handler for the specified routed event. Inherited from Interactive.
RaiseEventRaises a routed event. Inherited from Interactive.
RemoveHandler (2 overloads)Removes a handler for the specified routed event. Inherited from Interactive.
ArrangeArranges the control and its children. Inherited from Layoutable.
InvalidateArrangeInvalidates the arrangement of the control and queues a new layout pass. Inherited from Layoutable.
InvalidateMeasureInvalidates the measurement of the control and queues a new layout pass. Inherited from Layoutable.
MeasureCarries out a measure of the control. Inherited from Layoutable.
UpdateLayoutExecutes a layout pass. Inherited from Layoutable.
GetFlowDirectionGets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
InvalidateVisualInvalidates the visual and queues a repaint. Inherited from Visual.
RenderRenders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual.
SetFlowDirectionSets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
ApplyStylingApplies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement.
BeginInitInherited from StyledElement.
EndInitInherited from StyledElement.
TryGetResourceInherited from StyledElement.
Bind (8 overloads)Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject.
CheckAccessReturns a value indicating whether the current thread is the UI thread. Inherited from AvaloniaObject.
ClearValue (4 overloads)Clears a Avalonia.AvaloniaProperty's local value. Inherited from AvaloniaObject.
CoerceValueCoerces the specified Avalonia.AvaloniaProperty. Inherited from AvaloniaObject.
EqualsCompares two objects using reference equality. Inherited from AvaloniaObject.
GetBaseValueInherited from AvaloniaObject.
GetHashCodeGets the hash code for the object. Inherited from AvaloniaObject.
GetValue (3 overloads)Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
IsAnimatingChecks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject.
IsSetChecks whether a Avalonia.AvaloniaProperty is set on this object. Inherited from AvaloniaObject.
SetCurrentValue (2 overloads)Sets the value of a dependency property without changing its value source. Inherited from AvaloniaObject.
SetValue (3 overloads)Sets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
VerifyAccessChecks that the current thread is the UI thread and throws if not. Inherited from AvaloniaObject.

TryGetCell overloads

TryGetCell Method

public bool TryGetCell(Avalonia.Controls.Control element, Avalonia.Controls.Primitives.TreeDataGridCell& result)
Parameters

element Avalonia.Controls.Control

result Avalonia.Controls.Primitives.TreeDataGridCell&

Returns

bool

TryGetCell Method

Attempts to retrieve a realized cell at the specified column and row indices.

public Avalonia.Controls.Control TryGetCell(int columnIndex, int rowIndex)
Parameters

columnIndex int

The index of the column.

rowIndex int

The index of the row.

Returns

Avalonia.Controls.Control

The cell at the specified indices, or null if no cell exists at that position.

Remarks

The row and column indices are based upon the data currently displayed in the TreeDataGrid, and not the underlying data source. For example, if the data is sorted, filtered or contains expanded hierarchical rows, the indices may not correspond directly to the data source. In addition, if the specified cell is not currently visible (e.g. scrolled out of view), this method will return null.

TryGetRow overloads

TryGetRow Method

public bool TryGetRow(Avalonia.Controls.Control element, Avalonia.Controls.Primitives.TreeDataGridRow& result)
Parameters

element Avalonia.Controls.Control

result Avalonia.Controls.Primitives.TreeDataGridRow&

Returns

bool

TryGetRow Method

Attempts to retrieve a realized row at the specified index.

public Avalonia.Controls.Primitives.TreeDataGridRow TryGetRow(int rowIndex)
Parameters

rowIndex int

The index of the row.

Returns

Avalonia.Controls.Primitives.TreeDataGridRow

The row at the specified index, or null if no row exists at that position.

Remarks

The row index is based upon the data currently displayed in the TreeDataGrid, and not the underlying data source. For example, if the data is sorted or filtered, the indices may not correspond directly to the data source. In addition, if the specified cell is not currently visible (e.g. scrolled out of view), this method will return null.

TryGetRowModel Method

public bool TryGetRowModel<TModel>(Avalonia.Controls.Control element, TModel& result)

Parameters

element Avalonia.Controls.Control

result TModel&

Type Parameters

TModel

Returns

bool

Properties

NameDescription
AllowTriStateSortingGets or sets a value indicating whether the user can cycle through ascending, descending, and unsorted states when clicking the column header. The default is false.
AutoDragDropRowsGets or sets a value indicating whether rows can be automatically dragged and dropped within the TreeDataGrid.
CanUserResizeColumnsGets or sets a value indicating whether users can resize columns.
CanUserSortColumnsGets or sets a value indicating whether users can sort columns.
ColumnHeaderThemeGets or sets the theme applied to all column headers.
ColumnHeadersPresenterGets the presenter that displays the column headers.
ColumnSelectionGets the column selection model when the TreeDataGrid is in cell selection mode.
ColumnsGets the columns collection of the TreeDataGrid.
ElementFactoryGets or sets the element factory used to create UI elements for the TreeDataGrid.
FrozenColumnCountGets or sets the number of columns that are frozen on the left side.
RowSelectionGets the row selection model when the TreeDataGrid is in row selection mode.
RowThemeGets or sets the theme applied to all rows.
RowsGets the rows collection of the TreeDataGrid.
RowsPresenterGets the presenter that displays the rows.
ScrollGets the scroll viewer that enables scrolling through the TreeDataGrid content.
ShowColumnHeadersGets or sets a value indicating whether column headers should be displayed.
SourceGets or sets the data source for the TreeDataGrid.
BackgroundGets or sets the brush used to draw the control's background. Inherited from TemplatedControl.
BackgroundSizingGets or sets how the control's background is drawn relative to the control's border. Inherited from TemplatedControl.
BorderBrushGets or sets the brush used to draw the control's border. Inherited from TemplatedControl.
BorderThicknessGets or sets the thickness of the control's border. Inherited from TemplatedControl.
CornerRadiusGets or sets the radius of the border rounded corners. Inherited from TemplatedControl.
FontFamilyGets or sets the font family used to draw the control's text. Inherited from TemplatedControl.
FontFeaturesGets or sets the font features turned on/off. Inherited from TemplatedControl.
FontSizeGets or sets the size of the control's text in points. Inherited from TemplatedControl.
FontStretchGets or sets the font stretch used to draw the control's text. Inherited from TemplatedControl.
FontStyleGets or sets the font style used to draw the control's text. Inherited from TemplatedControl.
FontWeightGets or sets the font weight used to draw the control's text. Inherited from TemplatedControl.
ForegroundGets or sets the brush used to draw the control's text and other foreground elements. Inherited from TemplatedControl.
LetterSpacingGets or sets the letter spacing for the control's text content. Inherited from TemplatedControl.
PaddingGets or sets the padding placed between the border of the control and its content. Inherited from TemplatedControl.
TemplateGets or sets the template that defines the control's appearance. Inherited from TemplatedControl.
ContextFlyoutGets or sets a context flyout to the control Inherited from Control.
ContextMenuGets or sets a context menu to the control. Inherited from Control.
DataTemplatesGets or sets the data templates for the control. Inherited from Control.
FocusAdornerGets or sets the control's focus adorner. Inherited from Control.
IsLoadedGets a value indicating whether the control is fully constructed in the visual tree and both layout and render are complete. Inherited from Control.
TagGets or sets a user-defined object attached to the control. Inherited from Control.
CursorGets or sets associated mouse cursor. Inherited from InputElement.
FocusableGets or sets a value indicating whether the control can receive focus. Inherited from InputElement.
GestureRecognizersInherited from InputElement.
IsEffectivelyEnabledGets a value indicating whether this control and all its parents are enabled. Inherited from InputElement.
IsEnabledGets or sets a value indicating whether the control is enabled for user interaction. Inherited from InputElement.
IsFocusedGets a value indicating whether the control is focused. Inherited from InputElement.
IsHitTestVisibleGets or sets a value indicating whether the control is considered for hit testing. Inherited from InputElement.
IsKeyboardFocusWithinGets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. Inherited from InputElement.
IsPointerOverGets a value indicating whether the pointer is currently over the control. Inherited from InputElement.
IsTabStopGets or sets a value that indicates whether the control is included in tab navigation. Inherited from InputElement.
KeyBindingsInherited from InputElement.
TabIndexGets or sets a value that determines the order in which elements receive focus when the user navigates through controls by pressing the Tab key. Inherited from InputElement.
DesiredSizeGets the size that this element computed during the measure pass of the layout process. Inherited from Layoutable.
HeightGets or sets the height of the element. Inherited from Layoutable.
HorizontalAlignmentGets or sets the element's preferred horizontal alignment in its parent. Inherited from Layoutable.
IsArrangeValidGets a value indicating whether the control's layouts arrange is valid. Inherited from Layoutable.
IsMeasureValidGets a value indicating whether the control's layout measure is valid. Inherited from Layoutable.
MarginGets or sets the margin around the element. Inherited from Layoutable.
MaxHeightGets or sets the maximum height of the element. Inherited from Layoutable.
MaxWidthGets or sets the maximum width of the element. Inherited from Layoutable.
MinHeightGets or sets the minimum height of the element. Inherited from Layoutable.
MinWidthGets or sets the minimum width of the element. Inherited from Layoutable.
UseLayoutRoundingGets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time. Inherited from Layoutable.
VerticalAlignmentGets or sets the element's preferred vertical alignment in its parent. Inherited from Layoutable.
WidthGets or sets the width of the element. Inherited from Layoutable.
BoundsGets the bounds of the control relative to its parent. Inherited from Visual.
CacheModeGets or sets the cache mode of the visual. Inherited from Visual.
ClipGets or sets the geometry clip for this visual. Inherited from Visual.
ClipToBoundsGets or sets a value indicating whether the control should be clipped to its bounds. Inherited from Visual.
EffectGets or sets the effect of the control. Inherited from Visual.
FlowDirectionGets or sets the text flow direction. Inherited from Visual.
HasMirrorTransformGets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual.
IsEffectivelyVisibleGets a value indicating whether this control and all its parents are visible. Inherited from Visual.
IsVisibleGets or sets a value indicating whether this control is visible. Inherited from Visual.
OpacityGets or sets the opacity of the control. Inherited from Visual.
OpacityMaskGets or sets the opacity mask of the control. Inherited from Visual.
RenderTransformGets or sets the render transform of the control. Inherited from Visual.
RenderTransformOriginGets or sets the transform origin of the control. Inherited from Visual.
ZIndexGets or sets the Z index of the control. Inherited from Visual.
ActualThemeVariantGets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement.
ClassesGets or sets the styled element's classes. Inherited from StyledElement.
DataContextGets or sets the control's data context. Inherited from StyledElement.
IsInitializedGets a value that indicates whether the element has finished initialization. Inherited from StyledElement.
NameGets or sets the name of the styled element. Inherited from StyledElement.
ParentGets the styled element's logical parent. Inherited from StyledElement.
ResourcesGets or sets the styled element's resource dictionary. Inherited from StyledElement.
StyleKeyGets the type by which the element is styled. Inherited from StyledElement.
StylesGets the styles for the styled element. Inherited from StyledElement.
TemplatedParentGets the styled element whose lookless template this styled element is part of. Inherited from StyledElement.
ThemeGets or sets the theme to be applied to the element. Inherited from StyledElement.
TransitionsGets or sets the property transitions for the control. Inherited from Animatable.
DispatcherReturns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject.
ItemInherited from AvaloniaObject.

AllowTriStateSorting Property

Gets or sets a value indicating whether the user can cycle through ascending, descending, and unsorted states when clicking the column header. The default is false.

public bool AllowTriStateSorting { get; set; }

Remarks

When true, clicking a column header will cycle the sort order through ascending, descending, and unsorted. When false, clicking a column header will cycle the sort order through ascending and descending only.

This behavior only applies if Avalonia.Controls.TreeDataGrid.CanUserSortColumns is true. Individual columns can override this behavior via their Avalonia.Controls.Models.TreeDataGrid.ColumnOptions<T>.AllowTriStateSorting property.

AutoDragDropRows Property

Gets or sets a value indicating whether rows can be automatically dragged and dropped within the TreeDataGrid.

public bool AutoDragDropRows { get; set; }

Remarks

When enabled, users can reorder rows by dragging them to a new position. Changes will be reflected in the underlying data source. The default value is false.

CanUserResizeColumns Property

Gets or sets a value indicating whether users can resize columns.

public bool CanUserResizeColumns { get; set; }

Remarks

When true, users can adjust column widths by dragging the column dividers. The default value is true.

CanUserSortColumns Property

Gets or sets a value indicating whether users can sort columns.

public bool CanUserSortColumns { get; set; }

Remarks

When true, clicking on a column header will sort the data by that column. The default value is true.

ColumnHeaderTheme Property

Gets or sets the theme applied to all column headers.

public Avalonia.Styling.ControlTheme ColumnHeaderTheme { get; set; }

Remarks

This theme controls the appearance of column header elements in the TreeDataGrid.

ColumnHeadersPresenter Property

Gets the presenter that displays the column headers.

public Avalonia.Controls.Primitives.TreeDataGridColumnHeadersPresenter ColumnHeadersPresenter { get; set; }

Remarks

The column headers presenter is defined in the control template and is responsible for rendering the column headers at the top of the TreeDataGrid.

ColumnSelection Property

Gets the column selection model when the TreeDataGrid is in cell selection mode.

public Avalonia.Controls.Selection.ITreeDataGridCellSelectionModel ColumnSelection { get; set; }

Remarks

Returns null if the TreeDataGrid is not in cell selection mode.

Columns Property

Gets the columns collection of the TreeDataGrid.

public Avalonia.Controls.Models.TreeDataGrid.IColumns Columns { get; set; }

Remarks

This property is automatically populated from the Avalonia.Controls.TreeDataGrid.Source.

ElementFactory Property

Gets or sets the element factory used to create UI elements for the TreeDataGrid.

public Avalonia.Controls.Primitives.TreeDataGridElementFactory ElementFactory { get; set; }

Remarks

The element factory is responsible for creating the visual elements that represent rows, cells, and other components of the TreeDataGrid.

FrozenColumnCount Property

Gets or sets the number of columns that are frozen on the left side.

public int FrozenColumnCount { get; set; }

Remarks

Frozen columns do not scroll horizontally and remain visible at all times.

The default value is 0, meaning no columns are frozen. A value greater than the total column count will freeze all columns.

RowSelection Property

Gets the row selection model when the TreeDataGrid is in row selection mode.

public Avalonia.Controls.Selection.ITreeDataGridRowSelectionModel RowSelection { get; set; }

Remarks

Returns null if the TreeDataGrid is not in row selection mode.

RowTheme Property

Gets or sets the theme applied to all rows.

public Avalonia.Styling.ControlTheme RowTheme { get; set; }

Remarks

This theme controls the appearance of row elements in the TreeDataGrid.

Rows Property

Gets the rows collection of the TreeDataGrid.

public Avalonia.Controls.Models.TreeDataGrid.IRows Rows { get; set; }

Remarks

This property is automatically populated from the Avalonia.Controls.TreeDataGrid.Source.

RowsPresenter Property

Gets the presenter that displays the rows.

public Avalonia.Controls.Primitives.TreeDataGridRowsPresenter RowsPresenter { get; set; }

Remarks

The rows presenter is defined in the control template and is responsible for rendering the rows of data in the TreeDataGrid.

Scroll Property

Gets the scroll viewer that enables scrolling through the TreeDataGrid content.

public Avalonia.Controls.Primitives.IScrollable Scroll { get; set; }

Remarks

The scroll viewer is defined in the control template and provides vertical and horizontal scrolling capabilities for the TreeDataGrid.

ShowColumnHeaders Property

Gets or sets a value indicating whether column headers should be displayed.

public bool ShowColumnHeaders { get; set; }

Remarks

The default value is true.

Source Property

Gets or sets the data source for the TreeDataGrid.

public Avalonia.Controls.ITreeDataGridSource Source { get; set; }

Remarks

The source provides the data model, columns, and rows to be displayed in the TreeDataGrid.

Use Avalonia.Controls.FlatTreeDataGridSource<T> for flat data or Avalonia.Controls.HierarchicalTreeDataGridSource<T> for hierarchical data.

Fields

NameDescription
AllowTriStateSortingPropertyDefines the Avalonia.Controls.TreeDataGrid.AllowTriStateSorting property.
AutoDragDropRowsPropertyDefines the Avalonia.Controls.TreeDataGrid.AutoDragDropRows property.
CanUserResizeColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.CanUserResizeColumns property.
CanUserSortColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.CanUserSortColumns property.
ColumnHeaderThemePropertyDefines the Avalonia.Controls.TreeDataGrid.ColumnHeaderTheme property.
ColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.Columns property.
ElementFactoryPropertyDefines the Avalonia.Controls.TreeDataGrid.ElementFactory property.
FrozenColumnCountPropertyDefines the Avalonia.Controls.TreeDataGrid.FrozenColumnCount property.
RowDragOverEventDefines the Avalonia.Controls.TreeDataGrid.RowDragOver event.
RowDragStartedEventDefines the Avalonia.Controls.TreeDataGrid.RowDragStarted event.
RowDropEventDefines the Avalonia.Controls.TreeDataGrid.RowDrop event.
RowThemePropertyDefines the Avalonia.Controls.TreeDataGrid.RowTheme property.
RowsPropertyDefines the Avalonia.Controls.TreeDataGrid.Rows property.
ScrollPropertyDefines the Avalonia.Controls.TreeDataGrid.Scroll property.
ShowColumnHeadersPropertyDefines the Avalonia.Controls.TreeDataGrid.ShowColumnHeaders property.
SourcePropertyDefines the Avalonia.Controls.TreeDataGrid.Source property.
BackgroundPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Background property. Inherited from TemplatedControl.
BackgroundSizingPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.BackgroundSizing property. Inherited from TemplatedControl.
BorderBrushPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.BorderBrush property. Inherited from TemplatedControl.
BorderThicknessPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.BorderThickness property. Inherited from TemplatedControl.
CornerRadiusPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.CornerRadius property. Inherited from TemplatedControl.
FontFamilyPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontFamily property. Inherited from TemplatedControl.
FontFeaturesPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontFeaturesProperty property. Inherited from TemplatedControl.
FontSizePropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontSize property. Inherited from TemplatedControl.
FontStretchPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontWeight property. Inherited from TemplatedControl.
FontStylePropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontStyle property. Inherited from TemplatedControl.
FontWeightPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.FontWeight property. Inherited from TemplatedControl.
ForegroundPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Foreground property. Inherited from TemplatedControl.
IsTemplateFocusTargetPropertyDefines the IsTemplateFocusTarget attached property. Inherited from TemplatedControl.
LetterSpacingPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.LetterSpacing property. Inherited from TemplatedControl.
PaddingPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Padding property. Inherited from TemplatedControl.
TemplateAppliedEventDefines the Avalonia.Controls.Primitives.TemplatedControl.TemplateApplied routed event. Inherited from TemplatedControl.
TemplatePropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Template property. Inherited from TemplatedControl.
ContextFlyoutPropertyDefines the Avalonia.Controls.Control.ContextFlyout property Inherited from Control.
ContextMenuPropertyDefines the Avalonia.Controls.Control.ContextMenu property. Inherited from Control.
FocusAdornerPropertyDefines the Avalonia.Controls.Control.FocusAdorner property. Inherited from Control.
LoadedEventDefines the Avalonia.Controls.Control.Loaded event. Inherited from Control.
RequestBringIntoViewEventEvent raised when an element wishes to be scrolled into view. Inherited from Control.
SizeChangedEventDefines the Avalonia.Controls.Control.SizeChanged event. Inherited from Control.
TagPropertyDefines the Avalonia.Controls.Control.Tag property. Inherited from Control.
UnloadedEventDefines the Avalonia.Controls.Control.Unloaded event. Inherited from Control.
ContextCanceledEventProvides event data for the Avalonia.Input.InputElement.ContextCanceled event. Inherited from InputElement.
ContextRequestedEventProvides event data for the Avalonia.Input.InputElement.ContextRequested event. Inherited from InputElement.
CursorPropertyGets or sets associated mouse cursor. Inherited from InputElement.
DoubleTappedEventDefines the Avalonia.Input.InputElement.DoubleTapped event. Inherited from InputElement.
FocusablePropertyDefines the Avalonia.Input.InputElement.Focusable property. Inherited from InputElement.
GettingFocusEventDefines the Avalonia.Input.InputElement.GettingFocus event. Inherited from InputElement.
GotFocusEventDefines the Avalonia.Input.InputElement.GotFocus event. Inherited from InputElement.
HoldingEventDefines the Avalonia.Input.InputElement.Holding event. Inherited from InputElement.
IsEffectivelyEnabledPropertyDefines the Avalonia.Input.InputElement.IsEffectivelyEnabled property. Inherited from InputElement.
IsEnabledPropertyDefines the Avalonia.Input.InputElement.IsEnabled property. Inherited from InputElement.
IsFocusedPropertyDefines the Avalonia.Input.InputElement.IsFocused property. Inherited from InputElement.
IsHitTestVisiblePropertyDefines the Avalonia.Input.InputElement.IsHitTestVisible property. Inherited from InputElement.
IsHoldWithMouseEnabledPropertyDefines the IsHoldWithMouseEnabled attached property. Inherited from InputElement.
IsHoldingEnabledPropertyDefines the IsHoldingEnabled attached property. Inherited from InputElement.
IsKeyboardFocusWithinPropertyDefines the Avalonia.Input.InputElement.IsKeyboardFocusWithin property. Inherited from InputElement.
IsPointerOverPropertyDefines the Avalonia.Input.InputElement.IsPointerOver property. Inherited from InputElement.
IsTabStopPropertyDefines the Avalonia.Input.InputElement.IsTabStop property. Inherited from InputElement.
KeyDownEventDefines the Avalonia.Input.InputElement.KeyDown event. Inherited from InputElement.
KeyUpEventDefines the Avalonia.Input.InputElement.KeyUp event. Inherited from InputElement.
LosingFocusEventDefines the Avalonia.Input.InputElement.LosingFocus event. Inherited from InputElement.
LostFocusEventDefines the Avalonia.Input.InputElement.LostFocus event. Inherited from InputElement.
PinchEndedEventDefines the Avalonia.Input.InputElement.PinchEnded event. Inherited from InputElement.
PinchEventDefines the Avalonia.Input.InputElement.Pinch event. Inherited from InputElement.
PointerCaptureLostEventDefines the Avalonia.Input.InputElement.PointerCaptureLost routed event. Inherited from InputElement.
PointerEnteredEventDefines the Avalonia.Input.InputElement.PointerEntered event. Inherited from InputElement.
PointerExitedEventDefines the Avalonia.Input.InputElement.PointerExited event. Inherited from InputElement.
PointerMovedEventDefines the Avalonia.Input.InputElement.PointerMoved event. Inherited from InputElement.
PointerPressedEventDefines the Avalonia.Input.InputElement.PointerPressed event. Inherited from InputElement.
PointerReleasedEventDefines the Avalonia.Input.InputElement.PointerReleased event. Inherited from InputElement.
PointerTouchPadGestureMagnifyEventDefines the Avalonia.Input.InputElement.PointerTouchPadGestureMagnify event. Inherited from InputElement.
PointerTouchPadGestureRotateEventDefines the Avalonia.Input.InputElement.PointerTouchPadGestureRotate event. Inherited from InputElement.
PointerTouchPadGestureSwipeEventDefines the Avalonia.Input.InputElement.PointerTouchPadGestureSwipe event. Inherited from InputElement.
PointerWheelChangedEventDefines the Avalonia.Input.InputElement.PointerWheelChanged event. Inherited from InputElement.
PullGestureEndedEventDefines the Avalonia.Input.InputElement.PullGestureEnded event. Inherited from InputElement.
PullGestureEventDefines the Avalonia.Input.InputElement.PullGesture event. Inherited from InputElement.
RightTappedEventDefines the Avalonia.Input.InputElement.RightTapped event. Inherited from InputElement.
ScrollGestureEndedEventDefines the Avalonia.Input.InputElement.ScrollGestureEnded event. Inherited from InputElement.
ScrollGestureEventDefines the Avalonia.Input.InputElement.ScrollGesture event. Inherited from InputElement.
ScrollGestureInertiaStartingEventDefines the Avalonia.Input.InputElement.ScrollGestureInertiaStarting event. Inherited from InputElement.
SwipeGestureEventDefines the Avalonia.Input.InputElement.SwipeGesture event. Inherited from InputElement.
TabIndexPropertyDefines the Avalonia.Input.InputElement.TabIndex property. Inherited from InputElement.
TappedEventDefines the Avalonia.Input.InputElement.Tapped event. Inherited from InputElement.
TextInputEventDefines the Avalonia.Input.InputElement.TextInput event. Inherited from InputElement.
TextInputMethodClientRequestedEventDefines the Avalonia.Input.InputElement.TextInputMethodClientRequested event. Inherited from InputElement.
DesiredSizePropertyDefines the Avalonia.Layout.Layoutable.DesiredSize property. Inherited from Layoutable.
HeightPropertyDefines the Avalonia.Layout.Layoutable.Height property. Inherited from Layoutable.
HorizontalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.HorizontalAlignment property. Inherited from Layoutable.
MarginPropertyDefines the Avalonia.Layout.Layoutable.Margin property. Inherited from Layoutable.
MaxHeightPropertyDefines the Avalonia.Layout.Layoutable.MaxHeight property. Inherited from Layoutable.
MaxWidthPropertyDefines the Avalonia.Layout.Layoutable.MaxWidth property. Inherited from Layoutable.
MinHeightPropertyDefines the Avalonia.Layout.Layoutable.MinHeight property. Inherited from Layoutable.
MinWidthPropertyDefines the Avalonia.Layout.Layoutable.MinWidth property. Inherited from Layoutable.
UseLayoutRoundingPropertyDefines the Avalonia.Layout.Layoutable.UseLayoutRounding property. Inherited from Layoutable.
VerticalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.VerticalAlignment property. Inherited from Layoutable.
WidthPropertyDefines the Avalonia.Layout.Layoutable.Width property. Inherited from Layoutable.
BoundsPropertyDefines the Avalonia.Visual.Bounds property. Inherited from Visual.
CacheModePropertyDefines the Avalonia.Visual.CacheMode property. Inherited from Visual.
ClipPropertyDefines the Avalonia.Visual.Clip property. Inherited from Visual.
ClipToBoundsPropertyDefines the Avalonia.Visual.ClipToBounds property. Inherited from Visual.
EffectPropertyDefines the Avalonia.Visual.Effect property. Inherited from Visual.
FlowDirectionPropertyDefines the Avalonia.Visual.FlowDirection property. Inherited from Visual.
HasMirrorTransformPropertyDefines the Avalonia.Visual.HasMirrorTransform property. Inherited from Visual.
IsVisiblePropertyDefines the Avalonia.Visual.IsVisible property. Inherited from Visual.
OpacityMaskPropertyDefines the Avalonia.Visual.OpacityMask property. Inherited from Visual.
OpacityPropertyDefines the Avalonia.Visual.Opacity property. Inherited from Visual.
RenderTransformOriginPropertyDefines the Avalonia.Visual.RenderTransformOrigin property. Inherited from Visual.
RenderTransformPropertyDefines the Avalonia.Visual.RenderTransform property. Inherited from Visual.
VisualParentPropertyDefines the Avalonia.Visual.VisualParent property. Inherited from Visual.
ZIndexPropertyDefines the Avalonia.Visual.ZIndex property. Inherited from Visual.
DataContextPropertyDefines the Avalonia.StyledElement.DataContext property. Inherited from StyledElement.
NamePropertyDefines the Avalonia.StyledElement.Name property. Inherited from StyledElement.
ParentPropertyDefines the Avalonia.StyledElement.Parent property. Inherited from StyledElement.
TemplatedParentPropertyDefines the Avalonia.StyledElement.TemplatedParent property. Inherited from StyledElement.
ThemePropertyDefines the Avalonia.StyledElement.Theme property. Inherited from StyledElement.
TransitionsPropertyDefines the Avalonia.Animation.Animatable.Transitions property. Inherited from Animatable.

AllowTriStateSortingProperty Field

Defines the Avalonia.Controls.TreeDataGrid.AllowTriStateSorting property.

public Avalonia.StyledProperty<bool> AllowTriStateSortingProperty

AutoDragDropRowsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.AutoDragDropRows property.

public Avalonia.StyledProperty<bool> AutoDragDropRowsProperty

CanUserResizeColumnsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.CanUserResizeColumns property.

public Avalonia.StyledProperty<bool> CanUserResizeColumnsProperty

CanUserSortColumnsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.CanUserSortColumns property.

public Avalonia.StyledProperty<bool> CanUserSortColumnsProperty

ColumnHeaderThemeProperty Field

Defines the Avalonia.Controls.TreeDataGrid.ColumnHeaderTheme property.

public Avalonia.StyledProperty<Avalonia.Styling.ControlTheme> ColumnHeaderThemeProperty

ColumnsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Columns property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.Models.TreeDataGrid.IColumns> ColumnsProperty

ElementFactoryProperty Field

Defines the Avalonia.Controls.TreeDataGrid.ElementFactory property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.Primitives.TreeDataGridElementFactory> ElementFactoryProperty

FrozenColumnCountProperty Field

Defines the Avalonia.Controls.TreeDataGrid.FrozenColumnCount property.

public Avalonia.StyledProperty<int> FrozenColumnCountProperty

RowDragOverEvent Field

Defines the Avalonia.Controls.TreeDataGrid.RowDragOver event.

public Avalonia.Interactivity.RoutedEvent<Avalonia.Controls.TreeDataGridRowDragEventArgs> RowDragOverEvent

RowDragStartedEvent Field

Defines the Avalonia.Controls.TreeDataGrid.RowDragStarted event.

public Avalonia.Interactivity.RoutedEvent<Avalonia.Controls.TreeDataGridRowDragStartedEventArgs> RowDragStartedEvent

RowDropEvent Field

Defines the Avalonia.Controls.TreeDataGrid.RowDrop event.

public Avalonia.Interactivity.RoutedEvent<Avalonia.Controls.TreeDataGridRowDragEventArgs> RowDropEvent

RowThemeProperty Field

Defines the Avalonia.Controls.TreeDataGrid.RowTheme property.

public Avalonia.StyledProperty<Avalonia.Styling.ControlTheme> RowThemeProperty

RowsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Rows property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.Models.TreeDataGrid.IRows> RowsProperty

ScrollProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Scroll property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.Primitives.IScrollable> ScrollProperty

ShowColumnHeadersProperty Field

Defines the Avalonia.Controls.TreeDataGrid.ShowColumnHeaders property.

public Avalonia.StyledProperty<bool> ShowColumnHeadersProperty

SourceProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Source property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.ITreeDataGridSource> SourceProperty

Events

NameDescription
CellClearingOccurs when a cell is about to be cleared from the visual tree.
CellPreparedOccurs when a cell has been prepared for display.
CellValueChangedOccurs when a cell's value has changed.
RowClearingOccurs when a row is about to be cleared from the visual tree.
RowDragOverOccurs when a drag operation is performed over a row.
RowDragStartedOccurs when the user starts to drag a row.
RowDropOccurs when a drop operation is performed on a row.
RowPreparedOccurs when a row has been prepared for display.
SelectionChangingOccurs before the selection in the TreeDataGrid changes.
TemplateAppliedRaised when the control's template is applied. Inherited from TemplatedControl.
LoadedOccurs when the control has been fully constructed in the visual tree and both layout and render are complete. Inherited from Control.
SizeChangedOccurs when the bounds (actual size) of the control have changed. Inherited from Control.
UnloadedOccurs when the control is removed from the visual tree. Inherited from Control.
ContextCanceledOccurs when the context input gesture continues into another gesture, to notify the element that the context flyout should not be opened. Inherited from InputElement.
ContextRequestedOccurs when the user has completed a context input gesture, such as a right-click. Inherited from InputElement.
DoubleTappedOccurs when a double-tap gesture occurs on the control. Inherited from InputElement.
GettingFocusOccurs before the control receives focus. Inherited from InputElement.
GotFocusOccurs when the control receives focus. Inherited from InputElement.
HoldingOccurs when a hold gesture occurs on the control. Inherited from InputElement.
KeyDownOccurs when a key is pressed while the control has focus. Inherited from InputElement.
KeyUpOccurs when a key is released while the control has focus. Inherited from InputElement.
LosingFocusOccurs before the control loses focus. Inherited from InputElement.
LostFocusOccurs when the control loses focus. Inherited from InputElement.
PinchOccurs when a pinch gesture occurs on the control. Inherited from InputElement.
PinchEndedOccurs when a pinch gesture ends on the control. Inherited from InputElement.
PointerCaptureLostOccurs when the control or its child control loses the pointer capture for any reason, event will not be triggered for a parent control if capture was transferred to another child of that parent control. Inherited from InputElement.
PointerEnteredOccurs when the pointer enters the control. Inherited from InputElement.
PointerExitedOccurs when the pointer leaves the control. Inherited from InputElement.
PointerMovedOccurs when the pointer moves over the control. Inherited from InputElement.
PointerPressedOccurs when the pointer is pressed over the control. Inherited from InputElement.
PointerReleasedOccurs when the pointer is released over the control. Inherited from InputElement.
PointerTouchPadGestureMagnifyOccurs when a touchpad magnify gesture occurs on the control. Inherited from InputElement.
PointerTouchPadGestureRotateOccurs when a touchpad rotate gesture occurs on the control. Inherited from InputElement.
PointerTouchPadGestureSwipeOccurs when a touchpad swipe gesture occurs on the control. Inherited from InputElement.
PointerWheelChangedOccurs when the mouse is scrolled over the control. Inherited from InputElement.
PullGestureOccurs when a pull gesture occurs on the control. Inherited from InputElement.
PullGestureEndedOccurs when a pull gesture ends on the control. Inherited from InputElement.
RightTappedOccurs when a right tap gesture occurs on the control. Inherited from InputElement.
ScrollGestureOccurs when a scroll gesture occurs on the control. Inherited from InputElement.
ScrollGestureEndedOccurs when a scroll gesture ends on the control. Inherited from InputElement.
ScrollGestureInertiaStartingOccurs when a scroll gesture inertia starts on the control. Inherited from InputElement.
SwipeGestureOccurs when a swipe gesture occurs on the control. Inherited from InputElement.
TappedOccurs when a tap gesture occurs on the control. Inherited from InputElement.
TextInputOccurs when a user typed some text while the control has focus. Inherited from InputElement.
TextInputMethodClientRequestedOccurs when an input element gains input focus and input method is looking for the corresponding client Inherited from InputElement.
EffectiveViewportChangedOccurs when the element's effective viewport changes. Inherited from Layoutable.
LayoutUpdatedOccurs when a layout pass completes for the control. Inherited from Layoutable.
AttachedToVisualTreeRaised when the control is attached to a rooted visual tree. Inherited from Visual.
DetachedFromVisualTreeRaised when the control is detached from a rooted visual tree. Inherited from Visual.
ActualThemeVariantChangedRaised when the theme variant is changed on the element or an ancestor of the element. Inherited from StyledElement.
AttachedToLogicalTreeRaised when the styled element is attached to a rooted logical tree. Inherited from StyledElement.
DataContextChangedOccurs when the Avalonia.StyledElement.DataContext property changes. Inherited from StyledElement.
DetachedFromLogicalTreeRaised when the styled element is detached from a rooted logical tree. Inherited from StyledElement.
InitializedOccurs when the styled element has finished initialization. Inherited from StyledElement.
ResourcesChangedOccurs when a resource in this styled element or a parent styled element has changed. Inherited from StyledElement.
PropertyChangedRaised when a Avalonia.AvaloniaProperty value changes on this object. Inherited from AvaloniaObject.

CellClearing Event

Occurs when a cell is about to be cleared from the visual tree.

public event EventHandler<Avalonia.Controls.TreeDataGridCellEventArgs> CellClearing

Remarks

A cell is cleared when it is no longer needed for display, such as when it is scrolled out of view or when the data is removed from the data source. This event can be used to perform any necessary cleanup or state management before a cell is removed from the visual tree.

CellPrepared Event

Occurs when a cell has been prepared for display.

public event EventHandler<Avalonia.Controls.TreeDataGridCellEventArgs> CellPrepared

Remarks

A cell is prepared when it is created and bound to data for display. This event can be used to customize the appearance or behavior of the cell before it is rendered.

CellValueChanged Event

Occurs when a cell's value has changed.

public event EventHandler<Avalonia.Controls.TreeDataGridCellEventArgs> CellValueChanged

Remarks

This event is raised after the cell's value has been updated, either through user interaction or programmatically. It can be used to respond to changes in cell values, such as updating related data or triggering validation.

RowClearing Event

Occurs when a row is about to be cleared from the visual tree.

public event EventHandler<Avalonia.Controls.TreeDataGridRowEventArgs> RowClearing

Remarks

A row is cleared when it is no longer needed for display, such as when it is scrolled out of view or when the data is removed from the data source. This event can be used to perform any necessary cleanup or state management before a row is removed from the visual tree.

RowDragOver Event

Occurs when a drag operation is performed over a row.

public event EventHandler<Avalonia.Controls.TreeDataGridRowDragEventArgs> RowDragOver

RowDragStarted Event

Occurs when the user starts to drag a row.

public event EventHandler<Avalonia.Controls.TreeDataGridRowDragStartedEventArgs> RowDragStarted

RowDrop Event

Occurs when a drop operation is performed on a row.

public event EventHandler<Avalonia.Controls.TreeDataGridRowDragEventArgs> RowDrop

RowPrepared Event

Occurs when a row has been prepared for display.

public event EventHandler<Avalonia.Controls.TreeDataGridRowEventArgs> RowPrepared

Remarks

A row is prepared when it is created and bound to data for display. This event can be used to customize the appearance or behavior of the row before it is rendered.

SelectionChanging Event

Occurs before the selection in the TreeDataGrid changes.

public event System.ComponentModel.CancelEventHandler SelectionChanging

Remarks

This event can be cancelled to prevent the selection from changing.