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
AddHandler (2 overloads)Adds a handler for the specified routed event. Inherited from Interactive.
ApplyStylingApplies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement.
ApplyTemplateCreates the visual children of the control, if necessary Inherited from TemplatedControl.
ArrangeArranges the control and its children. Inherited from Layoutable.
BeginEditBegins editing the cell at the specified column and row indices.
BeginInitInherited from StyledElement.
Bind (8 overloads)Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject.
BringRowIntoViewNo summary available.
CancelEditCancels the current cell edit, restoring the original value.
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.
CommitEditCommits the current cell edit.
EndInitInherited from StyledElement.
EqualsCompares two objects using reference equality. Inherited from AvaloniaObject.
FocusFocuses the control. Inherited from InputElement.
GetBaseValueInherited from AvaloniaObject.
GetFlowDirectionGets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
GetHashCodeGets the hash code for the object. Inherited from AvaloniaObject.
GetIsHoldingEnabledInherited from InputElement.
GetIsHoldWithMouseEnabledInherited from InputElement.
GetIsTemplateFocusTargetGets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl.
GetValue (3 overloads)Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
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.
InvalidateVisualInvalidates the visual and queues a repaint. Inherited from Visual.
IsAnimatingChecks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject.
IsSetChecks whether a Avalonia.AvaloniaProperty is set on this object. Inherited from AvaloniaObject.
MeasureCarries out a measure of the control. Inherited from Layoutable.
RaiseEventRaises a routed event. Inherited from Interactive.
RemoveHandler (2 overloads)Removes a handler for the specified routed event. Inherited from Interactive.
RenderRenders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual.
SetCurrentValue (2 overloads)Sets the value of a dependency property without changing its value source. Inherited from AvaloniaObject.
SetFlowDirectionSets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
SetIsHoldingEnabledInherited from InputElement.
SetIsHoldWithMouseEnabledInherited from InputElement.
SetIsTemplateFocusTargetSets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl.
SetValue (3 overloads)Sets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
TryGetCell (2 overloads)No summary available.
TryGetResourceInherited from StyledElement.
TryGetRow (2 overloads)No summary available.
TryGetRowModelNo summary available.
UpdateLayoutExecutes a layout pass. Inherited from Layoutable.
VerifyAccessChecks that the current thread is the UI thread and throws if not. Inherited from AvaloniaObject.

BeginEdit Method

Begins editing the cell at the specified column and row indices.

public bool BeginEdit(int columnIndex, int rowIndex)

Parameters

columnIndex int

The column index of the cell to edit.

rowIndex int

The row index of the cell to edit.

Returns

bool

true if the cell entered edit mode; otherwise, false.

BringRowIntoView Method

public Avalonia.Controls.Control BringRowIntoView(Avalonia.Controls.IndexPath index, Nullable<Avalonia.Rect> rect)

Parameters

index Avalonia.Controls.IndexPath

rect Nullable<Avalonia.Rect>

Returns

Avalonia.Controls.Control

CancelEdit Method

Cancels the current cell edit, restoring the original value.

public bool CancelEdit()

Returns

bool

true if an edit was cancelled; otherwise, false.

CommitEdit Method

Commits the current cell edit.

public bool CommitEdit()

Returns

bool

true if an edit was committed; otherwise, false.

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
ActualThemeVariantGets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement.
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.
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.
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.
CanUserResizeColumnsGets or sets a value indicating whether users can resize columns.
CanUserSortColumnsGets or sets a value indicating whether users can sort columns.
ClassesGets or sets the styled element's classes. Inherited from StyledElement.
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.
ColumnHeadersPresenterGets the presenter that displays the column headers.
ColumnHeaderThemeGets or sets the theme applied to all column headers.
ColumnsGets the columns defined on the Avalonia.Controls.TreeDataGrid.
ContextFlyoutGets or sets a context flyout to the control Inherited from Control.
ContextMenuGets or sets a context menu to the control. Inherited from Control.
CornerRadiusGets or sets the radius of the border rounded corners. Inherited from TemplatedControl.
CursorGets or sets associated mouse cursor. Inherited from InputElement.
DataContextGets or sets the control's data context. Inherited from StyledElement.
DataTemplatesGets or sets the data templates for the control. Inherited from Control.
DesiredSizeGets the size that this element computed during the measure pass of the layout process. Inherited from Layoutable.
DispatcherReturns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject.
EffectGets or sets the effect of the control. Inherited from Visual.
ElementFactoryGets the element factory used to create UI elements for the TreeDataGrid.
FlowDirectionGets or sets the text flow direction. Inherited from Visual.
FocusableGets or sets a value indicating whether the control can receive focus. Inherited from InputElement.
FocusAdornerGets or sets the control's focus adorner. Inherited from Control.
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.
FrozenColumnCountGets or sets the number of columns that are frozen on the left side.
GestureRecognizersInherited from InputElement.
GridLinesVisibilityGets or sets a value indicating which grid lines are displayed between rows and columns.
HasMirrorTransformGets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual.
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.
IsEffectivelyEnabledGets a value indicating whether this control and all its parents are enabled. Inherited from InputElement.
IsEffectivelyVisibleGets a value indicating whether this control and all its parents are visible. Inherited from Visual.
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.
IsInitializedGets a value that indicates whether the element has finished initialization. Inherited from StyledElement.
IsKeyboardFocusWithinGets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. Inherited from InputElement.
IsLoadedGets a value indicating whether the control is fully constructed in the visual tree and both layout and render are complete. Inherited from Control.
IsMeasureValidGets a value indicating whether the control's layout measure is valid. Inherited from Layoutable.
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.
IsVisibleGets or sets a value indicating whether this control is visible. Inherited from Visual.
ItemInherited from AvaloniaObject.
ItemsSourceGets or sets the items source for the TreeDataGrid.
KeyBindingsInherited from InputElement.
LetterSpacingGets or sets the letter spacing for the control's text content. Inherited from TemplatedControl.
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.
NameGets or sets the name of the styled element. Inherited from StyledElement.
OpacityGets or sets the opacity of the control. Inherited from Visual.
OpacityMaskGets or sets the opacity mask of the control. Inherited from Visual.
PaddingGets or sets the padding placed between the border of the control and its content. Inherited from TemplatedControl.
ParentGets the styled element's logical parent. Inherited from StyledElement.
RenderTransformGets or sets the render transform of the control. Inherited from Visual.
RenderTransformOriginGets or sets the transform origin of the control. Inherited from Visual.
ResourcesGets or sets the styled element's resource dictionary. Inherited from StyledElement.
RowsGets the rows collection of the TreeDataGrid.
RowsPresenterGets the presenter that displays the rows.
RowThemeGets or sets the theme applied to all rows.
ScrollGets the scroll viewer that enables scrolling through the TreeDataGrid content.
SelectionGets the selection model for the TreeDataGrid.
SelectionModeGets or sets the selection mode for the TreeDataGrid.
ShowColumnHeadersGets or sets a value indicating whether column headers should be displayed.
SourceGets or sets the data source for the TreeDataGrid.
StyleKeyGets the type by which the element is styled. Inherited from StyledElement.
StylesGets the styles for the styled element. Inherited from StyledElement.
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.
TagGets or sets a user-defined object attached to the control. Inherited from Control.
TemplateGets or sets the template that defines the control's appearance. Inherited from TemplatedControl.
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.
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.
ZIndexGets or sets the Z index of the control. Inherited from Visual.

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.TreeDataGridColumn.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.

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.

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.

Columns Property

Gets the columns defined on the Avalonia.Controls.TreeDataGrid.

public Avalonia.Controls.TreeDataGridColumns Columns { get; set; }

Remarks

This property can be populated in XAML or read from the Avalonia.Controls.TreeDataGrid.Source.

ElementFactory Property

Gets 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.

GridLinesVisibility Property

Gets or sets a value indicating which grid lines are displayed between rows and columns.

public Avalonia.Controls.TreeDataGridGridLinesVisibility GridLinesVisibility { get; set; }

Remarks

Horizontal grid lines are drawn between rows and vertical grid lines are drawn between columns. The default value is Avalonia.Controls.TreeDataGridGridLinesVisibility.None, meaning no grid lines are displayed.

Grid lines are drawn using the TreeDataGridLineBrush theme resource, which can be overridden to customize their color.

ItemsSource Property

Gets or sets the items source for the TreeDataGrid.

public System.Collections.IEnumerable ItemsSource { get; set; }

Remarks

When set, a Avalonia.Controls.FlatTreeDataGridSource<T> is automatically created using the XAML-defined Avalonia.Controls.TreeDataGrid.Columns and assigned to Avalonia.Controls.TreeDataGrid.Source.

This property is mutually exclusive with setting Avalonia.Controls.TreeDataGrid.Source directly.

Rows Property

Gets the rows collection of the TreeDataGrid.

public Avalonia.Controls.TreeDataGridRows 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.

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.

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.

Selection Property

Gets the selection model for the TreeDataGrid.

public Avalonia.Controls.Selection.TreeDataGridSelectionModel Selection { get; set; }

Remarks

To access the strongly-typed selection model, cast to the appropriate type. In the case where Avalonia.Controls.TreeDataGrid.Source is set, the selection model type is determined by the source. When Avalonia.Controls.TreeDataGrid.ItemsSource is set, the selection object will be a TreeDataGridRowSelectionModel<object> or a TreeDataGridCellSelectionModel<object> depending on Avalonia.Controls.TreeDataGrid.SelectionMode.

SelectionMode Property

Gets or sets the selection mode for the TreeDataGrid.

public Avalonia.Controls.TreeDataGridSelectionMode SelectionMode { get; set; }

Remarks

Note that this property cannot be set when Avalonia.Controls.TreeDataGrid.Source is set directly; the selection must be configured on the source itself in this case.

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.TreeDataGridSource 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.
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.
BoundsPropertyDefines the Avalonia.Visual.Bounds property. Inherited from Visual.
CacheModePropertyDefines the Avalonia.Visual.CacheMode property. Inherited from Visual.
CanUserResizeColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.CanUserResizeColumns property.
CanUserSortColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.CanUserSortColumns property.
ClipPropertyDefines the Avalonia.Visual.Clip property. Inherited from Visual.
ClipToBoundsPropertyDefines the Avalonia.Visual.ClipToBounds property. Inherited from Visual.
ColumnHeaderThemePropertyDefines the Avalonia.Controls.TreeDataGrid.ColumnHeaderTheme property.
ColumnsPropertyDefines the Avalonia.Controls.TreeDataGrid.Columns property.
ContextCanceledEventProvides event data for the Avalonia.Input.InputElement.ContextCanceled event. Inherited from InputElement.
ContextFlyoutPropertyDefines the Avalonia.Controls.Control.ContextFlyout property Inherited from Control.
ContextMenuPropertyDefines the Avalonia.Controls.Control.ContextMenu property. Inherited from Control.
ContextRequestedEventProvides event data for the Avalonia.Input.InputElement.ContextRequested event. Inherited from InputElement.
CornerRadiusPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.CornerRadius property. Inherited from TemplatedControl.
CursorPropertyGets or sets associated mouse cursor. Inherited from InputElement.
DataContextPropertyDefines the Avalonia.StyledElement.DataContext property. Inherited from StyledElement.
DesiredSizePropertyDefines the Avalonia.Layout.Layoutable.DesiredSize property. Inherited from Layoutable.
DoubleTappedEventDefines the Avalonia.Input.InputElement.DoubleTapped event. Inherited from InputElement.
EffectPropertyDefines the Avalonia.Visual.Effect property. Inherited from Visual.
ElementFactoryPropertyDefines the Avalonia.Controls.TreeDataGrid.ElementFactory property.
FlowDirectionPropertyDefines the Avalonia.Visual.FlowDirection property. Inherited from Visual.
FocusablePropertyDefines the Avalonia.Input.InputElement.Focusable property. Inherited from InputElement.
FocusAdornerPropertyDefines the Avalonia.Controls.Control.FocusAdorner property. Inherited from Control.
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.
FrozenColumnCountPropertyDefines the Avalonia.Controls.TreeDataGrid.FrozenColumnCount property.
GettingFocusEventDefines the Avalonia.Input.InputElement.GettingFocus event. Inherited from InputElement.
GotFocusEventDefines the Avalonia.Input.InputElement.GotFocus event. Inherited from InputElement.
GridLinesVisibilityPropertyDefines the Avalonia.Controls.TreeDataGrid.GridLinesVisibility property.
HasMirrorTransformPropertyDefines the Avalonia.Visual.HasMirrorTransform property. Inherited from Visual.
HeightPropertyDefines the Avalonia.Layout.Layoutable.Height property. Inherited from Layoutable.
HoldingEventDefines the Avalonia.Input.InputElement.Holding event. Inherited from InputElement.
HorizontalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.HorizontalAlignment property. Inherited from Layoutable.
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.
IsHoldingEnabledPropertyDefines the IsHoldingEnabled attached property. Inherited from InputElement.
IsHoldWithMouseEnabledPropertyDefines the IsHoldWithMouseEnabled 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.
IsTemplateFocusTargetPropertyDefines the IsTemplateFocusTarget attached property. Inherited from TemplatedControl.
IsVisiblePropertyDefines the Avalonia.Visual.IsVisible property. Inherited from Visual.
ItemsSourcePropertyDefines the Avalonia.Controls.TreeDataGrid.ItemsSource property.
KeyDownEventDefines the Avalonia.Input.InputElement.KeyDown event. Inherited from InputElement.
KeyUpEventDefines the Avalonia.Input.InputElement.KeyUp event. Inherited from InputElement.
LetterSpacingPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.LetterSpacing property. Inherited from TemplatedControl.
LoadedEventDefines the Avalonia.Controls.Control.Loaded event. Inherited from Control.
LosingFocusEventDefines the Avalonia.Input.InputElement.LosingFocus event. Inherited from InputElement.
LostFocusEventDefines the Avalonia.Input.InputElement.LostFocus event. Inherited from InputElement.
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.
NamePropertyDefines the Avalonia.StyledElement.Name property. Inherited from StyledElement.
OpacityMaskPropertyDefines the Avalonia.Visual.OpacityMask property. Inherited from Visual.
OpacityPropertyDefines the Avalonia.Visual.Opacity property. Inherited from Visual.
PaddingPropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Padding property. Inherited from TemplatedControl.
ParentPropertyDefines the Avalonia.StyledElement.Parent property. Inherited from StyledElement.
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.
RenderTransformOriginPropertyDefines the Avalonia.Visual.RenderTransformOrigin property. Inherited from Visual.
RenderTransformPropertyDefines the Avalonia.Visual.RenderTransform property. Inherited from Visual.
RequestBringIntoViewEventEvent raised when an element wishes to be scrolled into view. Inherited from Control.
RightTappedEventDefines the Avalonia.Input.InputElement.RightTapped event. Inherited from InputElement.
RowDragOverEventDefines the Avalonia.Controls.TreeDataGrid.RowDragOver event.
RowDragStartedEventDefines the Avalonia.Controls.TreeDataGrid.RowDragStarted event.
RowDropEventDefines the Avalonia.Controls.TreeDataGrid.RowDrop event.
RowsPropertyDefines the Avalonia.Controls.TreeDataGrid.Rows property.
RowThemePropertyDefines the Avalonia.Controls.TreeDataGrid.RowTheme property.
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.
ScrollPropertyDefines the Avalonia.Controls.TreeDataGrid.Scroll property.
SelectionModePropertyDefines the Avalonia.Controls.TreeDataGrid.SelectionMode property.
ShowColumnHeadersPropertyDefines the Avalonia.Controls.TreeDataGrid.ShowColumnHeaders property.
SizeChangedEventDefines the Avalonia.Controls.Control.SizeChanged event. Inherited from Control.
SourcePropertyDefines the Avalonia.Controls.TreeDataGrid.Source property.
SwipeGestureEndedEventDefines the Avalonia.Input.InputElement.SwipeGestureEnded event. Inherited from InputElement.
SwipeGestureEventDefines the Avalonia.Input.InputElement.SwipeGesture event. Inherited from InputElement.
TabIndexPropertyDefines the Avalonia.Input.InputElement.TabIndex property. Inherited from InputElement.
TagPropertyDefines the Avalonia.Controls.Control.Tag property. Inherited from Control.
TappedEventDefines the Avalonia.Input.InputElement.Tapped event. Inherited from InputElement.
TemplateAppliedEventDefines the Avalonia.Controls.Primitives.TemplatedControl.TemplateApplied routed event. Inherited from TemplatedControl.
TemplatedParentPropertyDefines the Avalonia.StyledElement.TemplatedParent property. Inherited from StyledElement.
TemplatePropertyDefines the Avalonia.Controls.Primitives.TemplatedControl.Template property. Inherited from TemplatedControl.
TextInputEventDefines the Avalonia.Input.InputElement.TextInput event. Inherited from InputElement.
TextInputMethodClientRequestedEventDefines the Avalonia.Input.InputElement.TextInputMethodClientRequested event. Inherited from InputElement.
ThemePropertyDefines the Avalonia.StyledElement.Theme property. Inherited from StyledElement.
TransitionsPropertyDefines the Avalonia.Animation.Animatable.Transitions property. Inherited from Animatable.
UnloadedEventDefines the Avalonia.Controls.Control.Unloaded event. Inherited from Control.
UseLayoutRoundingPropertyDefines the Avalonia.Layout.Layoutable.UseLayoutRounding property. Inherited from Layoutable.
VerticalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.VerticalAlignment property. Inherited from Layoutable.
VisualParentPropertyDefines the Avalonia.Visual.VisualParent property. Inherited from Visual.
WidthPropertyDefines the Avalonia.Layout.Layoutable.Width property. Inherited from Layoutable.
ZIndexPropertyDefines the Avalonia.Visual.ZIndex property. Inherited from Visual.

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.TreeDataGridColumns> 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

GridLinesVisibilityProperty Field

Defines the Avalonia.Controls.TreeDataGrid.GridLinesVisibility property.

public Avalonia.StyledProperty<Avalonia.Controls.TreeDataGridGridLinesVisibility> GridLinesVisibilityProperty

ItemsSourceProperty Field

Defines the Avalonia.Controls.TreeDataGrid.ItemsSource property.

public Avalonia.StyledProperty<System.Collections.IEnumerable> ItemsSourceProperty

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

RowsProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Rows property.

public Avalonia.DirectProperty<Avalonia.Controls.TreeDataGrid, Avalonia.Controls.TreeDataGridRows> RowsProperty

RowThemeProperty Field

Defines the Avalonia.Controls.TreeDataGrid.RowTheme property.

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

ScrollProperty Field

Defines the Avalonia.Controls.TreeDataGrid.Scroll property.

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

SelectionModeProperty Field

Defines the Avalonia.Controls.TreeDataGrid.SelectionMode property.

public Avalonia.StyledProperty<Avalonia.Controls.TreeDataGridSelectionMode> SelectionModeProperty

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.TreeDataGridSource> SourceProperty

Events

NameDescription
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.
AttachedToVisualTreeRaised when the control is attached to a rooted visual tree. Inherited from Visual.
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.
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.
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.
DetachedFromVisualTreeRaised when the control is detached from a rooted visual tree. Inherited from Visual.
DoubleTappedOccurs when the user briefly contacts and releases twice on a single point, without significant movement. Inherited from InputElement.
EffectiveViewportChangedOccurs when the element's effective viewport changes. Inherited from Layoutable.
GettingFocusOccurs before the control receives focus. Inherited from InputElement.
GotFocusOccurs when the control receives focus. Inherited from InputElement.
HoldingOccurs when the user makes a single contact, then maintains contact beyond a given time threshold without releasing or making another contact. Inherited from InputElement.
InitializedOccurs when the styled element has finished initialization. Inherited from StyledElement.
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.
LayoutUpdatedOccurs when a layout pass completes for the control. Inherited from Layoutable.
LoadedOccurs when the control has been fully constructed in the visual tree and both layout and render are complete. Inherited from Control.
LosingFocusOccurs before the control loses focus. Inherited from InputElement.
LostFocusOccurs when the control loses focus. Inherited from InputElement.
PinchOccurs when the user moves two contact points closer together. Inherited from InputElement.
PinchEndedOccurs when the user releases both contact points used in a pinch gesture. 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 the user moves two contact points away from each other on a touchpad. Inherited from InputElement.
PointerTouchPadGestureRotateOccurs when the user places two contact points and moves them in a circular motion on a touchpad. Inherited from InputElement.
PointerTouchPadGestureSwipeOccurs when the user performs a rapid dragging motion in a single direction on a touchpad. Inherited from InputElement.
PointerWheelChangedOccurs when the mouse is scrolled over the control. Inherited from InputElement.
PropertyChangedRaised when a Avalonia.AvaloniaProperty value changes on this object. Inherited from AvaloniaObject.
PullGestureOccurs when the user drags from the edge of a control. Inherited from InputElement.
PullGestureEndedOccurs when the user releases the pointer after a pull gesture. Inherited from InputElement.
ResourcesChangedOccurs when a resource in this styled element or a parent styled element has changed. Inherited from StyledElement.
RightTappedOccurs when the user briefly contacts and releases a single point, without significant movement, using a mechanism on the input device recognized as a right button or equivalent. Inherited from InputElement.
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.
ScrollGestureOccurs when the user continuously moves the pointer in the same direction within the control’s boundaries. Inherited from InputElement.
ScrollGestureEndedOccurs when a scroll gesture has fully stopped, taking into account any inertial movement that continues the scroll after the user has released the pointer. Inherited from InputElement.
ScrollGestureInertiaStartingOccurs within a scroll gesture, when the user releases the pointer, and scrolling continues by transitioning to momentum-based gliding movement. Inherited from InputElement.
SelectionChangedOccurs when the selection in the TreeDataGrid changes.
SelectionChangingOccurs before the selection in the TreeDataGrid changes.
SizeChangedOccurs when the bounds (actual size) of the control have changed. Inherited from Control.
SwipeGestureOccurs when the user rapidly drags the pointer in a single direction across the control. Inherited from InputElement.
SwipeGestureEndedOccurs when a swipe gesture ends on the control. Inherited from InputElement.
TappedOccurs when the user briefly contacts and releases a single point, without significant movement. Inherited from InputElement.
TemplateAppliedRaised when the control's template is applied. Inherited from TemplatedControl.
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.
UnloadedOccurs when the control is removed from the visual tree. Inherited from Control.

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.

SelectionChanged Event

Occurs when the selection in the TreeDataGrid changes.

public event EventHandler<Avalonia.Controls.Selection.TreeDataGridSelectionChangedEventArgs> SelectionChanged

Remarks

This event is forwarded from the underlying selection model's Avalonia.Controls.Selection.TreeDataGridSelectionModel.SelectionChanged event, providing unified event args with row and cell index information.

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.