ITreeDataGridSelectionInteraction Interface
Definition
Defines the interaction between a Avalonia.Controls.TreeDataGrid and an Avalonia.Controls.Selection.ITreeDataGridSelection model.
public interface ITreeDataGridSelectionInteraction
Remarks
This interface is implemented by selection models to handle user interactions with the TreeDataGrid, such as keyboard navigation, pointer events, and selection state changes. It provides the connection between user input and the actual selection behavior.
Methods
| Name | Description |
|---|---|
| IsCellSelected | Determines whether a specific cell is selected. |
| IsRowSelected (2 overloads) | Determines whether a specific row model is selected. |
| OnKeyDown | Handles the KeyDown event from the TreeDataGrid. |
| OnKeyUp | Handles the KeyUp event from the TreeDataGrid. |
| OnPointerMoved | Handles the PointerMoved event from the TreeDataGrid. |
| OnPointerPressed | Handles the PointerPressed event from the TreeDataGrid. |
| OnPointerReleased | Handles the PointerReleased event from the TreeDataGrid. |
| OnPreviewKeyDown | Handles the PreviewKeyDown event from the TreeDataGrid. |
| OnTextInput | Handles the TextInput event from the TreeDataGrid. |
IsCellSelected Method
Determines whether a specific cell is selected.
public bool IsCellSelected(int columnIndex, int rowIndex)
Parameters
columnIndex int
The index of the column.
rowIndex int
The index of the row.
Returns
bool
true if the cell is selected; otherwise, false.
Remarks
This method is used by the TreeDataGrid to determine whether to display a cell with the selected visual state.
IsRowSelected overloads
IsRowSelected Method
Determines whether a specific row model is selected.
public bool IsRowSelected(Avalonia.Controls.Models.TreeDataGrid.IRow rowModel)
Parameters
rowModel Avalonia.Controls.Models.TreeDataGrid.IRow
The row model to check.
Returns
bool
true if the row is selected; otherwise, false.
Remarks
This method is used by the TreeDataGrid to determine whether to display a row with the selected visual state.
IsRowSelected Method
Determines whether a specific row is selected.
public bool IsRowSelected(int rowIndex)
Parameters
rowIndex int
The index of the row to check.
Returns
bool
true if the row is selected; otherwise, false.
Remarks
This method is used by the TreeDataGrid to determine whether to display a row with the selected visual state.
OnKeyDown Method
Handles the KeyDown event from the TreeDataGrid.
public void OnKeyDown(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.KeyEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
The event arguments.
Remarks
This method handles key navigation and selection, such as using arrow keys to move the selection or using Space/Enter to select items.
OnKeyUp Method
Handles the KeyUp event from the TreeDataGrid.
public void OnKeyUp(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.KeyEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
The event arguments.
Remarks
This method allows the selection model to respond to key releases.
OnPointerMoved Method
Handles the PointerMoved event from the TreeDataGrid.
public void OnPointerMoved(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.PointerEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
e Avalonia.Input.PointerEventArgs
The event arguments.
Remarks
This method can be used to handle behaviors like drag selection.
OnPointerPressed Method
Handles the PointerPressed event from the TreeDataGrid.
public void OnPointerPressed(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.PointerPressedEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
e Avalonia.Input.PointerPressedEventArgs
The event arguments.
Remarks
This method handles selection when the user presses a pointer (mouse, touch, etc.) on a row or cell. It typically manages behaviors like click-to-select and tracks the starting point for range selections with Shift key.
OnPointerReleased Method
Handles the PointerReleased event from the TreeDataGrid.
public void OnPointerReleased(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.PointerReleasedEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
e Avalonia.Input.PointerReleasedEventArgs
The event arguments.
Remarks
This method handles completing a selection when the user releases a pointer (mouse button, touch, etc.). It's particularly important for selection gestures that start with PointerPressed and complete with PointerReleased.
OnPreviewKeyDown Method
Handles the PreviewKeyDown event from the TreeDataGrid.
public void OnPreviewKeyDown(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.KeyEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
The event arguments.
Remarks
This method is called in the tunneling phase of the event, allowing the selection model to handle key presses before they reach other controls.
OnTextInput Method
Handles the TextInput event from the TreeDataGrid.
public void OnTextInput(Avalonia.Controls.TreeDataGrid sender, Avalonia.Input.TextInputEventArgs e)
Parameters
sender Avalonia.Controls.TreeDataGrid
The TreeDataGrid that raised the event.
e Avalonia.Input.TextInputEventArgs
The event arguments.
Remarks
This method allows the selection model to respond to text input, which can be used for features like type-to-select.
Events
| Name | Description |
|---|---|
| SelectionChanged | Occurs when the selection in the TreeDataGrid changes. |
SelectionChanged Event
Occurs when the selection in the TreeDataGrid changes.
public event EventHandler SelectionChanged
Remarks
This event is raised by the selection model when the selection changes, allowing the TreeDataGrid to update its visual representation accordingly.