Class TreeGridCellRendererBase
Represents a class that provides default implementation of the ITreeGridCellRenderer interface for a cell renderer. You should derive from this class to implement custom cell renderer classes. There is however no dependency on TreeGridCellRendererBase inside of the control.
If you want to implement a renderer with support for live UIElements inside the cell you should derive from the TreeGridVirtualizingCellRendererBase<D, E> or grid adapted GridVirtualizingCellRendererBase classes.
Namespace: Syncfusion.UI.Xaml.TreeGrid.Renderers
Assembly: Syncfusion.Grid.WinUI.dll
Syntax
public class TreeGridCellRendererBase : Object, ITreeGridCellRenderer, IDisposable
Constructors
TreeGridCellRendererBase()
Initializes a new instance of the TreeGridCellRendererBase class.
Declaration
public TreeGridCellRendererBase()
Properties
BindingExpression
Gets or sets the Microsoft.UI.Xaml.Data.BindingExpression that represents the binding for the cell.
Declaration
public BindingExpression BindingExpression { get; set; }
Property Value
Type | Description |
---|---|
Microsoft.UI.Xaml.Data.BindingExpression | The Microsoft.UI.Xaml.Data.BindingExpression that specifies the binding for the cell. |
CurrentCellElement
Returns the element of the current cell.
Declaration
public FrameworkElement CurrentCellElement { get; }
Property Value
Type | Description |
---|---|
Microsoft.UI.Xaml.FrameworkElement | Returns the Microsoft.UI.Xaml.FrameworkElement of the current cell. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the current cell element is accessed before the current cell state is maintained. |
CurrentCellIndex
Returns the RowColumnIndex of the current cell.
Declaration
public RowColumnIndex CurrentCellIndex { get; }
Property Value
Type | Description |
---|---|
RowColumnIndex | Returns index of the currentcell. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the CurrentCellIndex is accessed before the current cell is maintained. |
CurrentCellRendererElement
Returns the content of the current cell element.
Declaration
public FrameworkElement CurrentCellRendererElement { get; }
Property Value
Type | Description |
---|---|
Microsoft.UI.Xaml.FrameworkElement | Returns the Microsoft.UI.Xaml.FrameworkElement of the current cell rendererelement. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the renderer element of the current cell is accessed before the current cell state is maintained. |
HasCurrentCellState
Gets a value that indicates whether the current cell state is maintained in SfDataGrid.
Declaration
public bool HasCurrentCellState { get; }
Property Value
Type | Description |
---|---|
System.Boolean | Returns True if the current cell state is maintained; otherwise False. |
IsDropDownable
Gets or sets a value that indicates whether the cell that contains the drop-down control.
Declaration
public bool IsDropDownable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the cell is dropdownable; otherwise false. |
IsEditable
Gets or sets a value that indicates whether the current cell is editable or not.
Declaration
public bool IsEditable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true the current cell is editable; otherwise false. |
IsFocusable
Gets or sets a value that indicates whether the cell is focusable.
Declaration
public bool IsFocusable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true the current cell is focusable; otherwise false. |
IsFocused
Gets or sets a value that indicates whether the current cell is focused or not.
Declaration
public bool IsFocused { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the current cell is focused; otherwise , false. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the cell is focused before the current cell state is maintained. |
IsInEditing
Returns the current cell is in editing or not.
Declaration
public bool IsInEditing { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | True if current cell is in editing; otherwise false |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the current cell is edited before the current cell state is maintained. |
PreviewInputText
Gets or sets the input text for the Renderer.
Declaration
protected string PreviewInputText { get; set; }
Property Value
Type | Description |
---|---|
System.String | The preview input text for the renderer. |
SupportsRenderOptimization
Gets or sets a value that indicates whether the renderer supports rendering itself directly to the drawing context.
Declaration
public bool SupportsRenderOptimization { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the renderer supports directly to the drawing context; otherwise, false. |
TreeGrid
Gets or sets the reference to the SfTreeGrid control.
Declaration
public SfTreeGrid TreeGrid { get; set; }
Property Value
Type | Description |
---|---|
SfTreeGrid | The reference to the SfTreeGrid control. |
UseOnlyRendererElement
Gets or sets a value that indicates whether the grid cell is placed inside the renderer element.
Declaration
public bool UseOnlyRendererElement { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the grid cell is placed inside the renderer element; otherwise, false. |
Methods
Arrange(RowColumnIndex, FrameworkElement, Rect)
Invoked when the visual children of cell is arranged in view.
Declaration
public void Arrange(RowColumnIndex cellRowColumnIndex, FrameworkElement uiElement, Rect cellRect)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | cellRowColumnIndex | The corresponding row and column index of the cell. |
Microsoft.UI.Xaml.FrameworkElement | uiElement | The corresponding UiElement that is to be arranged |
Windows.Foundation.Rect | cellRect | The corresponding size of cell element for arranging the UIElement |
BeginEdit(RowColumnIndex, FrameworkElement, TreeGridColumn, Object)
Starts an edit operation on a current cell.
Declaration
public virtual bool BeginEdit(RowColumnIndex cellRowColumnIndex, FrameworkElement cellElement, TreeGridColumn column, object record)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | cellRowColumnIndex | Specifies the row and column index of the cell to start an edit operation. |
Microsoft.UI.Xaml.FrameworkElement | cellElement | Specifies the UIElement of the cell to start an edit operation. |
TreeGridColumn | column | The corresponding column to edit the cell. |
System.Object | record | The corresponding record to edit the cell. |
Returns
Type | Description |
---|---|
System.Boolean | Returns true if the current cell starts an editing; otherwise, false. |
CanUpdateBinding(TreeGridColumn)
Determines whether the binding for the column can be updated. Implement this method to update binding on particular renderer when the data context is set.
Declaration
public virtual bool CanUpdateBinding(TreeGridColumn column)
Parameters
Type | Name | Description |
---|---|---|
TreeGridColumn | column | The corresponding TreeGridColumn. |
Returns
Type | Description |
---|---|
System.Boolean | Returns true if the binding is updated for the column. |
CanValidate()
Determines whether the cell validation is allowed. Implement this method to allow cell validation in particular renderer.
Declaration
public virtual bool CanValidate()
Returns
Type | Description |
---|---|
System.Boolean | Returns true if the cell validation is allowed. |
ClearRecycleBin()
Clears the recycle bin.
Declaration
public virtual void ClearRecycleBin()
Dispose()
Releases all resources used by the TreeGridCellRendererBase class.
Declaration
public void Dispose()
Dispose(Boolean)
Disposes all the resources used by the TreeGridCellRendererBase class.
Declaration
protected virtual void Dispose(bool isDisposing)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | isDisposing | Indicates whether the call is from Dispose method or from a finalizer. |
EndEdit(TreeDataColumnBase, Object, Boolean)
Ends the edit occurring on the cell.
Declaration
public virtual bool EndEdit(TreeDataColumnBase dc, object record, bool canResetBinding = false)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dc | The corresponding datacolumn to complete the edit operation. |
System.Object | record | The corresponding record to complete the edit operation. |
System.Boolean | canResetBinding | Specifies whether the binding is reset or not. |
Returns
Type | Description |
---|---|
System.Boolean | Returns true if the editing is completed ; otherwise, false. |
GetControlValue()
Gets the control value of the cell.
Declaration
public virtual object GetControlValue()
Returns
Type | Description |
---|---|
System.Object | Returns the control value as |
Measure(RowColumnIndex, FrameworkElement, Size)
Invoked when the desired size for cell is measured.
Declaration
public void Measure(RowColumnIndex cellRowColumnIndex, FrameworkElement uiElement, Size availableSize)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | cellRowColumnIndex | The corresponding row and column index of the cell |
Microsoft.UI.Xaml.FrameworkElement | uiElement | Specifies the corresponding UiElement to measure. |
Windows.Foundation.Size | availableSize | The available size that a parent element can allocate the cell. |
OnArrange(RowColumnIndex, FrameworkElement, Rect)
Invoked when the visual children of cell is arranged in view.
Declaration
protected virtual void OnArrange(RowColumnIndex cellRowColumnIndex, FrameworkElement uiElement, Rect cellRect)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | cellRowColumnIndex | The corresponding row and column index of the cell. |
Microsoft.UI.Xaml.FrameworkElement | uiElement | The corresponding UiElement that is to be arranged |
Windows.Foundation.Rect | cellRect | The corresponding size of cell element for arranging the UIElement |
OnMeasure(RowColumnIndex, FrameworkElement, Size)
Invoked when the desired size for cell is measured.
Declaration
protected virtual void OnMeasure(RowColumnIndex cellRowColumnIndex, FrameworkElement uiElement, Size availableSize)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | cellRowColumnIndex | The corresponding row and column index of the cell |
Microsoft.UI.Xaml.FrameworkElement | uiElement | Specifies the corresponding UiElement to measure. |
Windows.Foundation.Size | availableSize | The available size that a parent element can allocate the cell. |
OnPrepareUIElements(TreeDataColumnBase, Object, Boolean)
Invoked when the UIElement for cell is prepared to render it in view . TreeGridVirtualizingCellRendererBase<D, E> overrides this method and creates new UIElements and wires them with the parent cells control.
Declaration
protected virtual FrameworkElement OnPrepareUIElements(TreeDataColumnBase dataColumn, object record, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | The corresponding column of the element. |
System.Object | record | The corresponding Record for the element. |
System.Boolean | isInEdit | Specifies whether the element is editable or not. |
Returns
Type | Description |
---|---|
Microsoft.UI.Xaml.FrameworkElement | Returns the new cell UIElement. |
OnPreviewTextInput(KeyRoutedEventArgs)
Invoked when an unhanded PreviewTextInput attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
Declaration
protected virtual void OnPreviewTextInput(KeyRoutedEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.Input.KeyRoutedEventArgs | e | The Microsoft.UI.Xaml.Input.KeyRoutedEventArgs that contains the event data. |
OnUnloadUIElements(TreeDataColumnBase)
Invoked when the cell is scrolled out of view or unloaded from the view. TreeGridVirtualizingCellRendererBase<D, E> class overrides this method to remove the cell renderer visuals from the parent or hide them to reuse it later in same element depending on whether GridVirtualizingCellRendererBase < D,E >.AllowRecycle was set.
Declaration
protected virtual void OnUnloadUIElements(TreeDataColumnBase dataColumn)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the column to unload the cell UIElement. |
OnUpdateBindingInfo(TreeDataColumnBase, Object, Boolean)
Updates the binding of the Cell UIElement for the specified column. Implement this method to update binding when the cell UIElement is reused during horizontal scrolling.
Declaration
protected virtual void OnUpdateBindingInfo(TreeDataColumnBase dataColumn, object record, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the corresponding column to update binding. |
System.Object | record | The corresponding record to update binding. |
System.Boolean | isInEdit | Indicates the whether the cell is editable or not. |
OnUpdateStyleInfo(TreeDataColumn)
Invoked after updating the cell style of the specified column.
Declaration
protected virtual void OnUpdateStyleInfo(TreeDataColumn treeDataColumn)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumn | treeDataColumn | The specified column. |
PrepareUIElements(TreeDataColumnBase, Object, Boolean)
Invoked when the UIElement for cell is prepared to render it in view . TreeGridVirtualizingCellRendererBase<D, E> overrides this method and creates new UIElements and wires them with the parent cells control.
Declaration
public FrameworkElement PrepareUIElements(TreeDataColumnBase dataColumn, object record, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | The corresponding column of the element. |
System.Object | record | The corresponding Record for the element. |
System.Boolean | isInEdit | Specifies whether the element is editable or not. |
Returns
Type | Description |
---|---|
Microsoft.UI.Xaml.FrameworkElement | Returns the new cell UIElement. |
PreviewTextInput(KeyRoutedEventArgs)
Invoked when an unhanded PreviewTextInput attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
Declaration
public void PreviewTextInput(KeyRoutedEventArgs args)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.Input.KeyRoutedEventArgs | args | The Microsoft.UI.Xaml.Input.KeyRoutedEventArgs that contains the event data. |
ResetCurrentCellState()
Resets the state of current cell when the cell is deactivated.
Declaration
public void ResetCurrentCellState()
SetControlValue(Object)
Sets the control value of the cell.
Declaration
public virtual void SetControlValue(object value)
Parameters
Type | Name | Description |
---|---|---|
System.Object | value | Specifies the value to set the control value of the cell. |
SetCurrentCellState(RowColumnIndex, FrameworkElement, Boolean, Boolean, TreeGridColumn, TreeDataColumnBase)
Sets the current cell state when the cell is activated.
Declaration
public void SetCurrentCellState(RowColumnIndex currentCellIndex, FrameworkElement currentCellElement, bool isInEditing, bool isFocused, TreeGridColumn column, TreeDataColumnBase dc)
Parameters
Type | Name | Description |
---|---|---|
RowColumnIndex | currentCellIndex | Specifies the index of cell. |
Microsoft.UI.Xaml.FrameworkElement | currentCellElement | The corresponding current cell UIElement. |
System.Boolean | isInEditing | Specifies whether the current cell is editable or not. |
System.Boolean | isFocused | Specifies whether the current cell is focused or not. |
TreeGridColumn | column | The corresponding column to set the current cell state. |
TreeDataColumnBase | dc | The corresponding data column to set the current cell state. |
SetFocus(FrameworkElement, Boolean)
Sets the focus to the specified current cell uielement.
Declaration
protected virtual void SetFocus(FrameworkElement uiElement, bool needToFocus)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.FrameworkElement | uiElement | Specifies the corresponding current cell uielement. |
System.Boolean | needToFocus | Decides whether the focus set to current cell uielement. |
SetFocus(Boolean)
Sets the focus to the current cell renderer element.
Declaration
public void SetFocus(bool setFocus)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | setFocus | Specifies whether the current cell renderer element is focusable or not. |
ShouldGridTryToHandleKeyDown(KeyRoutedEventArgs)
Decides whether the parent grid should allowed to handle keys and prevent the key event from being handled by the visual UIElement for this renderer.
Declaration
protected virtual bool ShouldGridTryToHandleKeyDown(KeyRoutedEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.Input.KeyRoutedEventArgs | e | A Microsoft.UI.Xaml.Input.KeyRoutedEventArgs that contains event data. |
Returns
Type | Description |
---|---|
System.Boolean | Returns true if the parent grid should be allowed to handle keys; otherwise false. |
UnloadUIElements(TreeDataColumnBase)
Invoked when the cell is scrolled out of view or unloaded from the view. TreeGridVirtualizingCellRendererBase<D, E> class overrides this method to remove the cell renderer visuals from the parent or hide them to reuse it later in same element depending on whether GridVirtualizingCellRendererBase < D,E >.AllowRecycle was set.
Declaration
public void UnloadUIElements(TreeDataColumnBase dataColumn)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the column to unload the cell UIElement. |
UpdateBindingInfo(TreeDataColumnBase, Object, Boolean)
Updates the binding of the Cell UIElement for the specified column. Implement this method to update binding when the cell UIElement is reused during horizontal scrolling.
Declaration
protected void UpdateBindingInfo(TreeDataColumnBase dataColumn, object record, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the corresponding column to update binding. |
System.Object | record | The corresponding record to update binding. |
System.Boolean | isInEdit | Indicates the whether the cell is in editing or not. |
UpdateCellStyle(TreeDataColumn)
Updates the cell style of the particular column. Implement this method to update style when the cell UIElement is reused during scrolling.
Declaration
public void UpdateCellStyle(TreeDataColumn treeDataColumn)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumn | treeDataColumn | Specifies the corresponding column to update style. |
UpdateCurrentCellState(FrameworkElement, Boolean)
Updates the current cell state for the specified current cell renderer element.
Declaration
protected void UpdateCurrentCellState(FrameworkElement currentRendererElement, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.FrameworkElement | currentRendererElement | Specifies the current cell uielement to update the current cell state. |
System.Boolean | isInEdit | Specifies whether the current cell is editable. |
UpdateSource(FrameworkElement)
Updates the current binding target value to the binding source property in TwoWay or OneWayToSource bindings.
Declaration
public void UpdateSource(FrameworkElement cellElement)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.FrameworkElement | cellElement | Specifies the corresponding cell element to update binding. |
UpdateToolTip(TreeDataColumnBase)
Updates the tool tip for the specified column.
Declaration
public virtual void UpdateToolTip(TreeDataColumnBase dataColumn)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the column to update tool tip. |
Explicit Interface Implementations
ITreeGridCellRenderer.ShouldGridTryToHandleKeyDown(KeyRoutedEventArgs)
Decides whether the parent grid should allowed to handle keys and prevent the key event from being handled by the visual UIElement for this renderer.
Declaration
bool ITreeGridCellRenderer.ShouldGridTryToHandleKeyDown(KeyRoutedEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
Microsoft.UI.Xaml.Input.KeyRoutedEventArgs | e | A Microsoft.UI.Xaml.Input.KeyRoutedEventArgs that contains event data. |
Returns
Type | Description |
---|---|
System.Boolean | true if the parent grid should be allowed to handle keys; otherwise false. |
ITreeGridCellRenderer.UpdateBindingInfo(TreeDataColumnBase, Object, Boolean)
Updates the binding of the Cell UIElement for the specified column. Implement this method to update binding when the cell UIElement is reused during horizontal scrolling.
Declaration
void ITreeGridCellRenderer.UpdateBindingInfo(TreeDataColumnBase dataColumn, object record, bool isInEdit)
Parameters
Type | Name | Description |
---|---|---|
TreeDataColumnBase | dataColumn | Specifies the corresponding column to update binding. |
System.Object | record | The corresponding record to update binding. |
System.Boolean | isInEdit | Indicates the whether the cell is editable or not. |