TreeDataGrid Class
Definition
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
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
| Name | Description |
|---|---|
| TreeDataGrid | Initializes a new instance of the Avalonia.Controls.TreeDataGrid class. |
TreeDataGrid Constructor
Initializes a new instance of the Avalonia.Controls.TreeDataGrid class.
public TreeDataGrid()
Methods
| Name | Description |
|---|---|
| BeginEdit | Begins editing the cell at the specified column and row indices. |
| BringRowIntoView | No summary available. |
| CancelEdit | Cancels the current cell edit, restoring the original value. |
| CommitEdit | Commits the current cell edit. |
| TryGetCell (2 overloads) | No summary available. |
| TryGetRow (2 overloads) | No summary available. |
| TryGetRowModel | No summary available. |
| ApplyTemplate | Creates the visual children of the control, if necessary Inherited from TemplatedControl. |
| GetIsTemplateFocusTarget | Gets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| SetIsTemplateFocusTarget | Sets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| Focus | Focuses the control. Inherited from InputElement. |
| GetIsHoldWithMouseEnabled | Inherited from InputElement. |
| GetIsHoldingEnabled | Inherited from InputElement. |
| SetIsHoldWithMouseEnabled | Inherited from InputElement. |
| SetIsHoldingEnabled | Inherited from InputElement. |
| AddHandler (2 overloads) | Adds a handler for the specified routed event. Inherited from Interactive. |
| RaiseEvent | Raises a routed event. Inherited from Interactive. |
| RemoveHandler (2 overloads) | Removes a handler for the specified routed event. Inherited from Interactive. |
| Arrange | Arranges the control and its children. Inherited from Layoutable. |
| InvalidateArrange | Invalidates the arrangement of the control and queues a new layout pass. Inherited from Layoutable. |
| InvalidateMeasure | Invalidates the measurement of the control and queues a new layout pass. Inherited from Layoutable. |
| Measure | Carries out a measure of the control. Inherited from Layoutable. |
| UpdateLayout | Executes a layout pass. Inherited from Layoutable. |
| GetFlowDirection | Gets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| InvalidateVisual | Invalidates the visual and queues a repaint. Inherited from Visual. |
| Render | Renders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual. |
| SetFlowDirection | Sets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| ApplyStyling | Applies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement. |
| BeginInit | Inherited from StyledElement. |
| EndInit | Inherited from StyledElement. |
| TryGetResource | Inherited from StyledElement. |
| Bind (8 overloads) | Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject. |
| CheckAccess | Returns 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. |
| CoerceValue | Coerces the specified Avalonia.AvaloniaProperty. Inherited from AvaloniaObject. |
| Equals | Compares two objects using reference equality. Inherited from AvaloniaObject. |
| GetBaseValue | Inherited from AvaloniaObject. |
| GetHashCode | Gets the hash code for the object. Inherited from AvaloniaObject. |
| GetValue (3 overloads) | Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject. |
| IsAnimating | Checks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject. |
| IsSet | Checks 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. |
| VerifyAccess | Checks 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
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
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
| Name | Description |
|---|---|
| AllowTriStateSorting | 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. |
| AutoDragDropRows | Gets or sets a value indicating whether rows can be automatically dragged and dropped within the TreeDataGrid. |
| CanUserResizeColumns | Gets or sets a value indicating whether users can resize columns. |
| CanUserSortColumns | Gets or sets a value indicating whether users can sort columns. |
| ColumnHeaderTheme | Gets or sets the theme applied to all column headers. |
| ColumnHeadersPresenter | Gets the presenter that displays the column headers. |
| Columns | Gets the columns defined on the Avalonia.Controls.TreeDataGrid. |
| ElementFactory | Gets the element factory used to create UI elements for the TreeDataGrid. |
| FrozenColumnCount | Gets or sets the number of columns that are frozen on the left side. |
| ItemsSource | Gets or sets the items source for the TreeDataGrid. |
| RowTheme | Gets or sets the theme applied to all rows. |
| Rows | Gets the rows collection of the TreeDataGrid. |
| RowsPresenter | Gets the presenter that displays the rows. |
| Scroll | Gets the scroll viewer that enables scrolling through the TreeDataGrid content. |
| Selection | Gets the selection model for the TreeDataGrid. |
| SelectionMode | Gets or sets the selection mode for the TreeDataGrid. |
| ShowColumnHeaders | Gets or sets a value indicating whether column headers should be displayed. |
| Source | Gets or sets the data source for the TreeDataGrid. |
| Background | Gets or sets the brush used to draw the control's background. Inherited from TemplatedControl. |
| BackgroundSizing | Gets or sets how the control's background is drawn relative to the control's border. Inherited from TemplatedControl. |
| BorderBrush | Gets or sets the brush used to draw the control's border. Inherited from TemplatedControl. |
| BorderThickness | Gets or sets the thickness of the control's border. Inherited from TemplatedControl. |
| CornerRadius | Gets or sets the radius of the border rounded corners. Inherited from TemplatedControl. |
| FontFamily | Gets or sets the font family used to draw the control's text. Inherited from TemplatedControl. |
| FontFeatures | Gets or sets the font features turned on/off. Inherited from TemplatedControl. |
| FontSize | Gets or sets the size of the control's text in points. Inherited from TemplatedControl. |
| FontStretch | Gets or sets the font stretch used to draw the control's text. Inherited from TemplatedControl. |
| FontStyle | Gets or sets the font style used to draw the control's text. Inherited from TemplatedControl. |
| FontWeight | Gets or sets the font weight used to draw the control's text. Inherited from TemplatedControl. |
| Foreground | Gets or sets the brush used to draw the control's text and other foreground elements. Inherited from TemplatedControl. |
| LetterSpacing | Gets or sets the letter spacing for the control's text content. Inherited from TemplatedControl. |
| Padding | Gets or sets the padding placed between the border of the control and its content. Inherited from TemplatedControl. |
| Template | Gets or sets the template that defines the control's appearance. Inherited from TemplatedControl. |
| ContextFlyout | Gets or sets a context flyout to the control Inherited from Control. |
| ContextMenu | Gets or sets a context menu to the control. Inherited from Control. |
| DataTemplates | Gets or sets the data templates for the control. Inherited from Control. |
| FocusAdorner | Gets or sets the control's focus adorner. Inherited from Control. |
| IsLoaded | Gets a value indicating whether the control is fully constructed in the visual tree and both layout and render are complete. Inherited from Control. |
| Tag | Gets or sets a user-defined object attached to the control. Inherited from Control. |
| Cursor | Gets or sets associated mouse cursor. Inherited from InputElement. |
| Focusable | Gets or sets a value indicating whether the control can receive focus. Inherited from InputElement. |
| GestureRecognizers | Inherited from InputElement. |
| IsEffectivelyEnabled | Gets a value indicating whether this control and all its parents are enabled. Inherited from InputElement. |
| IsEnabled | Gets or sets a value indicating whether the control is enabled for user interaction. Inherited from InputElement. |
| IsFocused | Gets a value indicating whether the control is focused. Inherited from InputElement. |
| IsHitTestVisible | Gets or sets a value indicating whether the control is considered for hit testing. Inherited from InputElement. |
| IsKeyboardFocusWithin | Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. Inherited from InputElement. |
| IsPointerOver | Gets a value indicating whether the pointer is currently over the control. Inherited from InputElement. |
| IsTabStop | Gets or sets a value that indicates whether the control is included in tab navigation. Inherited from InputElement. |
| KeyBindings | Inherited from InputElement. |
| TabIndex | Gets 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. |
| DesiredSize | Gets the size that this element computed during the measure pass of the layout process. Inherited from Layoutable. |
| Height | Gets or sets the height of the element. Inherited from Layoutable. |
| HorizontalAlignment | Gets or sets the element's preferred horizontal alignment in its parent. Inherited from Layoutable. |
| IsArrangeValid | Gets a value indicating whether the control's layouts arrange is valid. Inherited from Layoutable. |
| IsMeasureValid | Gets a value indicating whether the control's layout measure is valid. Inherited from Layoutable. |
| Margin | Gets or sets the margin around the element. Inherited from Layoutable. |
| MaxHeight | Gets or sets the maximum height of the element. Inherited from Layoutable. |
| MaxWidth | Gets or sets the maximum width of the element. Inherited from Layoutable. |
| MinHeight | Gets or sets the minimum height of the element. Inherited from Layoutable. |
| MinWidth | Gets or sets the minimum width of the element. Inherited from Layoutable. |
| UseLayoutRounding | Gets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time. Inherited from Layoutable. |
| VerticalAlignment | Gets or sets the element's preferred vertical alignment in its parent. Inherited from Layoutable. |
| Width | Gets or sets the width of the element. Inherited from Layoutable. |
| Bounds | Gets the bounds of the control relative to its parent. Inherited from Visual. |
| CacheMode | Gets or sets the cache mode of the visual. Inherited from Visual. |
| Clip | Gets or sets the geometry clip for this visual. Inherited from Visual. |
| ClipToBounds | Gets or sets a value indicating whether the control should be clipped to its bounds. Inherited from Visual. |
| Effect | Gets or sets the effect of the control. Inherited from Visual. |
| FlowDirection | Gets or sets the text flow direction. Inherited from Visual. |
| HasMirrorTransform | Gets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual. |
| IsEffectivelyVisible | Gets a value indicating whether this control and all its parents are visible. Inherited from Visual. |
| IsVisible | Gets or sets a value indicating whether this control is visible. Inherited from Visual. |
| Opacity | Gets or sets the opacity of the control. Inherited from Visual. |
| OpacityMask | Gets or sets the opacity mask of the control. Inherited from Visual. |
| RenderTransform | Gets or sets the render transform of the control. Inherited from Visual. |
| RenderTransformOrigin | Gets or sets the transform origin of the control. Inherited from Visual. |
| ZIndex | Gets or sets the Z index of the control. Inherited from Visual. |
| ActualThemeVariant | Gets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement. |
| Classes | Gets or sets the styled element's classes. Inherited from StyledElement. |
| DataContext | Gets or sets the control's data context. Inherited from StyledElement. |
| IsInitialized | Gets a value that indicates whether the element has finished initialization. Inherited from StyledElement. |
| Name | Gets or sets the name of the styled element. Inherited from StyledElement. |
| Parent | Gets the styled element's logical parent. Inherited from StyledElement. |
| Resources | Gets or sets the styled element's resource dictionary. Inherited from StyledElement. |
| StyleKey | Gets the type by which the element is styled. Inherited from StyledElement. |
| Styles | Gets the styles for the styled element. Inherited from StyledElement. |
| TemplatedParent | Gets the styled element whose lookless template this styled element is part of. Inherited from StyledElement. |
| Theme | Gets or sets the theme to be applied to the element. Inherited from StyledElement. |
| Transitions | Gets or sets the property transitions for the control. Inherited from Animatable. |
| Dispatcher | Returns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject. |
| Item | Inherited 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.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.
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.
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.
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.
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.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.
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
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
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
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.TreeDataGridRows> RowsProperty
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
| Name | Description |
|---|---|
| CellClearing | Occurs when a cell is about to be cleared from the visual tree. |
| CellPrepared | Occurs when a cell has been prepared for display. |
| CellValueChanged | Occurs when a cell's value has changed. |
| RowClearing | Occurs when a row is about to be cleared from the visual tree. |
| RowDragOver | Occurs when a drag operation is performed over a row. |
| RowDragStarted | Occurs when the user starts to drag a row. |
| RowDrop | Occurs when a drop operation is performed on a row. |
| RowPrepared | Occurs when a row has been prepared for display. |
| SelectionChanged | Occurs when the selection in the TreeDataGrid changes. |
| SelectionChanging | Occurs before the selection in the TreeDataGrid changes. |
| TemplateApplied | Raised when the control's template is applied. Inherited from TemplatedControl. |
| Loaded | Occurs when the control has been fully constructed in the visual tree and both layout and render are complete. Inherited from Control. |
| SizeChanged | Occurs when the bounds (actual size) of the control have changed. Inherited from Control. |
| Unloaded | Occurs when the control is removed from the visual tree. Inherited from Control. |
| ContextCanceled | Occurs when the context input gesture continues into another gesture, to notify the element that the context flyout should not be opened. Inherited from InputElement. |
| ContextRequested | Occurs when the user has completed a context input gesture, such as a right-click. Inherited from InputElement. |
| DoubleTapped | Occurs when the user briefly contacts and releases twice on a single point, without significant movement. Inherited from InputElement. |
| GettingFocus | Occurs before the control receives focus. Inherited from InputElement. |
| GotFocus | Occurs when the control receives focus. Inherited from InputElement. |
| Holding | Occurs when the user makes a single contact, then maintains contact beyond a given time threshold without releasing or making another contact. Inherited from InputElement. |
| KeyDown | Occurs when a key is pressed while the control has focus. Inherited from InputElement. |
| KeyUp | Occurs when a key is released while the control has focus. Inherited from InputElement. |
| LosingFocus | Occurs before the control loses focus. Inherited from InputElement. |
| LostFocus | Occurs when the control loses focus. Inherited from InputElement. |
| Pinch | Occurs when the user moves two contact points closer together. Inherited from InputElement. |
| PinchEnded | Occurs when the user releases both contact points used in a pinch gesture. Inherited from InputElement. |
| PointerCaptureLost | Occurs 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. |
| PointerEntered | Occurs when the pointer enters the control. Inherited from InputElement. |
| PointerExited | Occurs when the pointer leaves the control. Inherited from InputElement. |
| PointerMoved | Occurs when the pointer moves over the control. Inherited from InputElement. |
| PointerPressed | Occurs when the pointer is pressed over the control. Inherited from InputElement. |
| PointerReleased | Occurs when the pointer is released over the control. Inherited from InputElement. |
| PointerTouchPadGestureMagnify | Occurs when the user moves two contact points away from each other on a touchpad. Inherited from InputElement. |
| PointerTouchPadGestureRotate | Occurs when the user places two contact points and moves them in a circular motion on a touchpad. Inherited from InputElement. |
| PointerTouchPadGestureSwipe | Occurs when the user performs a rapid dragging motion in a single direction on a touchpad. Inherited from InputElement. |
| PointerWheelChanged | Occurs when the mouse is scrolled over the control. Inherited from InputElement. |
| PullGesture | Occurs when the user drags from the edge of a control. Inherited from InputElement. |
| PullGestureEnded | Occurs when the user releases the pointer after a pull gesture. Inherited from InputElement. |
| RightTapped | Occurs 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. |
| ScrollGesture | Occurs when the user continuously moves the pointer in the same direction within the control’s boundaries. Inherited from InputElement. |
| ScrollGestureEnded | Occurs 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. |
| ScrollGestureInertiaStarting | Occurs within a scroll gesture, when the user releases the pointer, and scrolling continues by transitioning to momentum-based gliding movement. Inherited from InputElement. |
| SwipeGesture | Occurs when the user rapidly drags the pointer in a single direction across the control. Inherited from InputElement. |
| SwipeGestureEnded | Occurs when a swipe gesture ends on the control. Inherited from InputElement. |
| Tapped | Occurs when the user briefly contacts and releases a single point, without significant movement. Inherited from InputElement. |
| TextInput | Occurs when a user typed some text while the control has focus. Inherited from InputElement. |
| TextInputMethodClientRequested | Occurs when an input element gains input focus and input method is looking for the corresponding client Inherited from InputElement. |
| EffectiveViewportChanged | Occurs when the element's effective viewport changes. Inherited from Layoutable. |
| LayoutUpdated | Occurs when a layout pass completes for the control. Inherited from Layoutable. |
| AttachedToVisualTree | Raised when the control is attached to a rooted visual tree. Inherited from Visual. |
| DetachedFromVisualTree | Raised when the control is detached from a rooted visual tree. Inherited from Visual. |
| ActualThemeVariantChanged | Raised when the theme variant is changed on the element or an ancestor of the element. Inherited from StyledElement. |
| AttachedToLogicalTree | Raised when the styled element is attached to a rooted logical tree. Inherited from StyledElement. |
| DataContextChanged | Occurs when the Avalonia.StyledElement.DataContext property changes. Inherited from StyledElement. |
| DetachedFromLogicalTree | Raised when the styled element is detached from a rooted logical tree. Inherited from StyledElement. |
| Initialized | Occurs when the styled element has finished initialization. Inherited from StyledElement. |
| ResourcesChanged | Occurs when a resource in this styled element or a parent styled element has changed. Inherited from StyledElement. |
| PropertyChanged | Raised 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.
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.