Class DataGrid
DataGrid class that provides logic to restrict the selection to a maximum number of items. Furthermore, the class provides two string properties that can be used to set the headers of the SelectionOverlay to replace/show/hide columns This DataGrid can group it's columns in several rows. You can set the maximum stacked rows with MaxHeaderStackCount. The user can drag and drop row headers to group them in rows. Up to the aforementioned maximum.
Inheritance
Implements
Namespace: Sartorius.SAF.Presentation.Controls
Assembly: Sartorius.SAF.Presentation.Controls.dll
Syntax
[TemplatePart(Name = "PART_ScrollViewer", Type = typeof(ScrollViewer))]
[SuppressMessage("Performance", "CA1814:Prefer jagged arrays over multidimensional", Justification = "The multidimensional array does not waste space. Also refactoring with possible bugs.")]
public class DataGrid : DataGrid, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IContainItemStorage, IAddChild
Remarks
The Grid and it's children are heavily dependent on each other. This is quite a bad architecture but that is the way Microsoft build the DataGrid. This was not improved here because this would come near a complete own implementation of a DataGrid.
The DataGrid does not allow resizing of columns by the user when in stacked header mode (MaxHeaderStackCount > 1).
The grid uses DataGridRows, DataGridColumnHeadersPresenter, DataGridCellsPanel and DataGridColumnHeader instead of the respective classes from System.Windows.Controls. Keep this in mind when styling rows and providing styles for the grid.
You can use PreventSelectionReset to prevent the reset of the complete selection when changing SelectionUnit. When changing the SelectionUnit the selection will be cleared and loaded again. So the selection will be empty for a short amount of time.
Examples
The following example shows how to use MaxNumberOfSelectableItems to limit the maximum selectable rows to 5.
<SAF:DataGrid MaxNumberOfSelectableItems="5"
ItemsSource="{Binding Items}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" />
<DataGridTextColumn Binding="{Binding Description}" />
</DataGrid.Columns>
</SAF:DataGrid>
The following example shows how to configure the grid for fixed row heights and distribution of row height among grouped cells. When no columns are grouped the cell height will be 90. When max 2 columns are grouped the cell height will be 45 and with 3 columns grouped 30.
<SAF:DataGrid MaxHeaderStackCount="3"
DistributeStackHeight="True"
RowHeight="90"
ColumnPickerCommand="{Binding ColumnPickerCommand}"
ItemsSource="{Binding Items}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" />
<DataGridTextColumn Binding="{Binding Description}" />
<!-- Some more columns so column grouping becomes useful -->
</DataGrid.Columns>
</SAF:DataGrid>
The following example shows how to configure the grid for fixed cell heights. The row height will be equal to CurrentHeaderStackCount times MinRowHeight. Use MinRowHeight to define the fixed height of the sub rows (= cell height).
<SAF:DataGrid MaxHeaderStackCount="3"
MinRowHeight="30"
ItemsSource="{Binding Items}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" />
<DataGridTextColumn Binding="{Binding Description}" />
<!-- Some more columns so column grouping becomes useful -->
</DataGrid.Columns>
</SAF:DataGrid>
The following example shows styling for rows supporting switching of MaxHeaderStackCount from 1 to greater values.
<SAF:DoubleComparisonToBooleanConverter x:Key="DoubleIsGreaterThanConverter" ComparisonType="GreaterThan" />
<Style x:Key="RowStyle" TargetType="{x:Type DataGridRow}">
<!-- style for a MaxHeaderRowCount == 1 -->
</Style>
<Style x:Key="MultiRowStyle" TargetType="{x:Type SAF:DataGridRow}">
<!-- style for a MaxHeaderRowCount > 1 -->
</Style>
<Style x:Key="DataGridStyle" TargetType="{x:Type SAF:DataGrid}">
<Setter Property="RowStyle" Value="{StaticResource RowStyle}" />
<Style.Triggers>
<DataTrigger
Binding="{Binding MaxHeaderStackCount, RelativeSource={RelativeSource Self}, Converter={StaticResource DoubleIsGreaterThanConverter}, ConverterParameter=1}"
Value="True">
<Setter Property="RowStyle" Value="{StaticResource MultiRowStyle}" />
<!-- Resizing of columns does currently not work well with multi row header -->
<Setter Property="CanUserResizeColumns" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
The following example shows how to provide background colors for the sub row backgrounds
<Style x:Key="MultiHeader_RowStyle" TargetType="{x:Type SAF:DataGridRow}">
<Setter Property="RowBackgroundBrushes">
<Setter.Value>
<x:Array Type="Brush">
<SolidColorBrush Color="{DynamicResource BG_S36}" />
<SolidColorBrush Color="{DynamicResource BG_S37}" />
<SolidColorBrush Color="{DynamicResource BG_S03}" />
</x:Array>
</Setter.Value>
</Setter>
<Style.Triggers>
<!-- provide different colors when 2 subrows are shown -->
<Trigger Property="CurrentRowCount" Value="2">
<Setter Property="RowBackgroundBrushes">
<Setter.Value>
<x:Array Type="Brush">
<SolidColorBrush Color="{DynamicResource BG_S36}" />
<SolidColorBrush Color="{DynamicResource BG_S03}" />
</x:Array>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Constructors
View SourceDataGrid()
Initializes a new instance of the DataGrid class.
Declaration
public DataGrid()
Fields
View SourceActualHeaderHeightProperty
Identifies the ActualHeaderHeight dependency property.
Declaration
public static readonly DependencyProperty ActualHeaderHeightProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
ColumnHeaderRowHeightProperty
Identifies the DependencyProperty for ColumnHeaderRowHeight.
Declaration
public static readonly DependencyProperty ColumnHeaderRowHeightProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
ColumnPickerCommandProperty
Identifies the DependencyProperty for ColumnPickerCommand.
Declaration
public static readonly DependencyProperty ColumnPickerCommandProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
ColumnPickerHeaderProperty
defines the header text of a control (for instance the selection overlay) that can be used to replace columns of the DataGrid
Declaration
public static readonly DependencyProperty ColumnPickerHeaderProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
ColumnReplacerHeaderProperty
defines the header text of a control (for instance the selection overlay) that can be used to show/hide columns of the DataGrid
Declaration
public static readonly DependencyProperty ColumnReplacerHeaderProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
ContentTypeProperty
Identifies the DependencyProperty for ContentType.
Declaration
public static readonly DependencyProperty ContentTypeProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
CurrentHeaderRowCountProperty
Identifies the DependencyProperty for CurrentHeaderRowCount.
Declaration
[Obsolete("Use CurrentHeaderStackCount instead")]
public static readonly DependencyProperty CurrentHeaderRowCountProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
CurrentHeaderRowCountPropertyKey
Identifies the DependencyPropertyKey for CurrentHeaderRowCount.
Declaration
[Obsolete("Use CurrentHeaderStackCount instead")]
protected static readonly DependencyPropertyKey CurrentHeaderRowCountPropertyKey
Field Value
| Type | Description |
|---|---|
| DependencyPropertyKey |
CurrentHeaderStackCountProperty
Identifies the DependencyProperty for CurrentHeaderStackCount.
Declaration
public static readonly DependencyProperty CurrentHeaderStackCountProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
CurrentHeaderStackCountPropertyKey
Identifies the DependencyPropertyKey for CurrentHeaderStackCount.
Declaration
protected static readonly DependencyPropertyKey CurrentHeaderStackCountPropertyKey
Field Value
| Type | Description |
|---|---|
| DependencyPropertyKey |
DistributeRowHeightProperty
Identifies the DependencyProperty for DistributeRowHeight.
Declaration
[Obsolete("Use DistributeStackHeight instead")]
public static readonly DependencyProperty DistributeRowHeightProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
DistributeStackHeightProperty
Identifies the DependencyProperty for DistributeStackHeight.
Declaration
public static readonly DependencyProperty DistributeStackHeightProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
IsColumnPickerEnabledProperty
defines whether the column picker functionality is enabled (true) or not. Default is true
Declaration
public static readonly DependencyProperty IsColumnPickerEnabledProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
IsColumnReplacerEnabledProperty
defines whether the column replacer functionality is enabled (true) or not. Default is true
Declaration
public static readonly DependencyProperty IsColumnReplacerEnabledProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
IsHeaderEnabledProperty
Identifies the DependencyProperty for IsHeaderEnabled.
Declaration
public static readonly DependencyProperty IsHeaderEnabledProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
IsMouseRightButtonEnabledProperty
Identifies the DependencyProperty for IsMouseRightButtonEnabled.
Declaration
public static readonly DependencyProperty IsMouseRightButtonEnabledProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
MaxHeaderRowCountProperty
Identifies the DependencyProperty for MaxHeaderRowCount.
Declaration
[Obsolete("Use MaxHeaderStackCount instead")]
public static readonly DependencyProperty MaxHeaderRowCountProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
MaxHeaderStackCountProperty
Identifies the DependencyProperty for MaxHeaderStackCount.
Declaration
public static readonly DependencyProperty MaxHeaderStackCountProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
MaxNumberOfSelectableItemsProperty
defines the maximal number of selectable items in the data grid. Default is null which is interpreted as no restriction
Declaration
public static readonly DependencyProperty MaxNumberOfSelectableItemsProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
NoSearchResultFoundTextProperty
defines the text shown for no search results of a control (for instance the selection overlay) that can be used to search for column header names
Declaration
public static readonly DependencyProperty NoSearchResultFoundTextProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
PreventSelectionResetProperty
Identifies the DependencyProperty for PreventSelectionReset.
Declaration
public static readonly DependencyProperty PreventSelectionResetProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
SearchTextWatermarkProperty
defines the search text watermark of a control (for instance the selection overlay) that can be used to replace/select columns of the DataGrid and supports filtering
Declaration
public static readonly DependencyProperty SearchTextWatermarkProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
SelectionStateProperty
The Dependency Property of the SelectionState property. Gets or sets the state of the selection.
Declaration
public static readonly DependencyProperty SelectionStateProperty
Field Value
| Type | Description |
|---|---|
| DependencyProperty |
Properties
View SourceActualHeaderHeight
Gets the current actual height of the DataGridColumnHeadersPresenter
Declaration
public double ActualHeaderHeight { get; }
Property Value
| Type | Description |
|---|---|
| double |
ColumnHeaderRowHeight
Gets or sets the row height inside a column header.
Declaration
public double ColumnHeaderRowHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| double |
Remarks
This is the height of a single draggable header. The height of the complete header is CurrentHeaderStackCount times this height.
ColumnHeadersPresenter
Gets or sets the current DataGridColumnHeadersPresenter used in the grid.
Declaration
protected DataGridColumnHeadersPresenter ColumnHeadersPresenter { get; set; }
Property Value
| Type | Description |
|---|---|
| DataGridColumnHeadersPresenter |
ColumnMatrix
Gets the current column matrix. Dimension 0 is the row index, dimension 1 the column index.
Declaration
public DataGridColumn[,] ColumnMatrix { get; }
Property Value
| Type | Description |
|---|---|
| DataGridColumn[,] |
ColumnPickerCommand
Gets or sets the column picker command.
Declaration
public ICommand ColumnPickerCommand { get; set; }
Property Value
| Type | Description |
|---|---|
| ICommand |
Remarks
When this is set the default SelectionOverlay is not shown.
ColumnPickerHeader
defines the header text of the selection overlay that can be used to show/hide columns of the DataGrid
Declaration
public string ColumnPickerHeader { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ColumnReplacerHeader
defines the header text of the selection overlay that can be used to replace columns of the DataGrid
Declaration
public string ColumnReplacerHeader { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ContentType
Gets or sets the margin of the cell
Declaration
public DataGridContentType ContentType { get; set; }
Property Value
| Type | Description |
|---|---|
| DataGridContentType |
CurrentHeaderRowCount
Gets the current header row count.
Declaration
[Obsolete("Use CurrentHeaderStackCount instead")]
public int CurrentHeaderRowCount { get; }
Property Value
| Type | Description |
|---|---|
| int |
Remarks
The maximum of this value is MaxHeaderRowCount.
CurrentHeaderStackCount
Gets the current header stack count.
Declaration
public int CurrentHeaderStackCount { get; }
Property Value
| Type | Description |
|---|---|
| int |
Remarks
The maximum of this value is MaxHeaderStackCount.
DistributeRowHeight
Gets or sets a value indicating whether the fixed RowHeight should be equally distributed amongst sub rows.
Declaration
[Obsolete("Use DistributeStackHeight instead")]
public bool DistributeRowHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Remarks
If this is true RowHeight is distributed equally among all header rows.
This has no effect if RowHeight is NaN.
DistributeStackHeight
Gets or sets a value indicating whether the fixed RowHeight should be equally distributed amongst sub rows.
Declaration
public bool DistributeStackHeight { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Remarks
If this is true RowHeight is distributed equally among all stacked headers.
This has no effect if RowHeight is NaN.
IsColumnPickerEnabled
defines whether the column picker functionality is enabled (true) or not. Default is true
Declaration
public bool IsColumnPickerEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsColumnReplacerEnabled
defines whether the column replacer functionality is enabled (true) or not. Default is true
Declaration
public bool IsColumnReplacerEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsHeaderEnabled
Gets or sets a value indicating whether the header is enabled.
Declaration
public bool IsHeaderEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsMouseRightButtonEnabled
Indicates whether the mouse right button can be used for interaction within the DataGrid.
Declaration
public bool IsMouseRightButtonEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
MaxHeaderRowCount
Gets or sets the maximum header row count.
Declaration
[Obsolete("Use MaxHeaderStackCount instead")]
public int MaxHeaderRowCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Remarks
Set this to 1 if headers should not be arranged in rows.
MaxHeaderStackCount
Gets or sets the maximum header stack count.
Declaration
public int MaxHeaderStackCount { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Remarks
Set this to 1 if headers should not be arranged in a stack.
MaxNumberOfSelectableItems
defines the maximal number of selectable items in the data grid. Default is null which is interpreted as no restriction
Declaration
public int? MaxNumberOfSelectableItems { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
NoSearchResultFoundText
defines the text shown for no search results of a control (for instance the selection overlay) that can be used to search for column header names
Declaration
public string NoSearchResultFoundText { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PreventSelectionReset
Gets or sets a value indicating whether the selection reset that occurs on change of the SelectionUnit should be prevented.
Declaration
public bool PreventSelectionReset { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
|
Remarks
SelectedItems will be empty for a short period of time when changing SelectionUnit.
SearchTextWatermark
defines the search text watermark of the selection overlay that can be used to replace/select columns of the DataGrid
Declaration
public string SearchTextWatermark { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SelectionState
Gets or sets the state of the selection.
Declaration
public DataGrid.SelectionStateType SelectionState { get; set; }
Property Value
| Type | Description |
|---|---|
| DataGrid.SelectionStateType |
Methods
View SourceGetContainerForItemOverride()
Creates or identifies the element used to display the specified item.
Declaration
protected override DependencyObject GetContainerForItemOverride()
Returns
| Type | Description |
|---|---|
| DependencyObject | A ComboBoxItem. |
Overrides
View SourceInvalidateCellsPanelsMeasure()
Invalidates the cells panels measure.
Declaration
protected void InvalidateCellsPanelsMeasure()
InvalidateColumnMeasurement()
Invalidates the current column measurement.
Declaration
protected void InvalidateColumnMeasurement()
IsItemItsOwnContainerOverride(object)
Determines if the specified item is (or is eligible to be) its own ItemContainer.
Declaration
protected override bool IsItemItsOwnContainerOverride(object item)
Parameters
| Type | Name | Description |
|---|---|---|
| object | item | Specified item. |
Returns
| Type | Description |
|---|---|
| bool | true if the item is its own ItemContainer; otherwise, false. |
Overrides
View SourceMoveColumn(DataGridColumn, DataGridColumnDisplayState)
Moves a column to the a desired location if the move operation is allowed.
Declaration
public void MoveColumn(DataGridColumn column, DataGridColumnDisplayState desiredState)
Parameters
| Type | Name | Description |
|---|---|---|
| DataGridColumn | column | The DataGridColumn to move. |
| DataGridColumnDisplayState | desiredState | The DataGridColumnDisplayState that represents the desired location. |
OnApplyTemplate()
applies the template for the DataGrid
Declaration
public override void OnApplyTemplate()
Overrides
View SourceOnColumnHeaderDragCompleted(DragCompletedEventArgs)
Raises the ColumnHeaderDragCompleted event.
Declaration
protected void OnColumnHeaderDragCompleted(DragCompletedEventArgs dragCompletedEventArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| DragCompletedEventArgs | dragCompletedEventArgs | The data for the event. |
OnColumnHeaderDragDelta(DragDeltaEventArgs)
Raises the ColumnHeaderDragDelta event.
Declaration
protected void OnColumnHeaderDragDelta(DragDeltaEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| DragDeltaEventArgs | e | The data for the event. |
OnColumnHeaderDragStarted(DragStartedEventArgs)
Raises the ColumnHeaderDragStarted event.
Declaration
protected void OnColumnHeaderDragStarted(DragStartedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| DragStartedEventArgs | e | The data for the event. |
OnColumnReordered(DataGridColumnEventArgs)
Raises the ColumnReordered event.
Declaration
protected void OnColumnReordered(DataGridColumnEventArgs dataGridColumnEventArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| DataGridColumnEventArgs | dataGridColumnEventArgs | The data for the event. |
OnColumnReordering(DataGridColumnReorderingEventArgs)
Raises the ColumnReordering event.
Declaration
protected void OnColumnReordering(DataGridColumnReorderingEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| DataGridColumnReorderingEventArgs | e | The data for the event. |
OnCurrentCellChanged(EventArgs)
Raises the CurrentCellChanged event.
Declaration
protected override void OnCurrentCellChanged(EventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| EventArgs | e | The data for the event. |
Overrides
View SourceOnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs)
Called when the IsKeyboardFocusWithin property has changed.
Declaration
protected override void OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| DependencyPropertyChangedEventArgs | e | The event data. |
Overrides
View SourceOnItemsSourceChanged(IEnumerable, IEnumerable)
Invoked when the ItemsSource property changes.
Declaration
protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable | oldValue | The old source. |
| IEnumerable | newValue | The new source. |
Overrides
View SourceOnKeyDown(KeyEventArgs)
Invoked when the KeyDown event is received.
Declaration
[SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Parameter 'e' is never null.")]
protected override void OnKeyDown(KeyEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| KeyEventArgs | e | The information about the event. |
Overrides
View SourceOnPreviewKeyDown(KeyEventArgs)
method that checks whether the event is further processed. it is processed if the maximal number of selectable items is not reached
Declaration
[SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Parameter 'e' is never null.")]
protected override void OnPreviewKeyDown(KeyEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| KeyEventArgs | e |
Overrides
View SourceOnPreviewMouseLeftButtonDown(MouseButtonEventArgs)
method that checks whether the event is further processed. it is processed if the maximal number of selectable items is not reached
Declaration
[SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Parameter 'e' is never null.")]
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| MouseButtonEventArgs | e |
Overrides
View SourceOnPreviewMouseRightButtonUp(MouseButtonEventArgs)
Invoked when an unhandled PreviewMouseRightButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.
Declaration
[SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Parameter 'e' is never null.")]
protected override void OnPreviewMouseRightButtonUp(MouseButtonEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| MouseButtonEventArgs | e | The MouseButtonEventArgs that contains the event data. The event data reports that the right mouse button was released. |
Overrides
View SourceOnSorting(DataGridSortingEventArgs)
Raises the Sorting event.
Declaration
[SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Parameter 'eventArgs is never null.")]
protected override void OnSorting(DataGridSortingEventArgs eventArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| DataGridSortingEventArgs | eventArgs | The data for the event. |
Overrides
View SourceStartColumnChange()
Starts column changes and suppresses column state invalidation until the returned IDisposable is disposed.
Declaration
public IDisposable StartColumnChange()
Returns
| Type | Description |
|---|---|
| IDisposable | An IDisposable that defines the life cycle for suppressing any column changes. |
ValidateColumnMove(DataGridColumnDisplayState, DataGridColumnDisplayState)
Checks if a column move is valid.
Declaration
public bool ValidateColumnMove(DataGridColumnDisplayState desiredState, DataGridColumnDisplayState currentState)
Parameters
| Type | Name | Description |
|---|---|---|
| DataGridColumnDisplayState | desiredState | The desired state of the column. |
| DataGridColumnDisplayState | currentState | The current state of the column. |
Returns
| Type | Description |
|---|---|
| bool |
|