# 2025 v2

## Content

## Accordion 

**Bug Fixes** 

* Resolved an issue that prevented the **C1Accordion.Fill** parameter from functioning correctly.
* Fixed an issue where the **ExpandDirection** property did not apply the configured direction in Accordion controls.
* Redesigned the horizontal layout logic to ensure correct behavior for the **Left** and **Right** expand directions.

## Calendar 

**Bug Fixes** 

* Resolved an issue where a JavaScript interop exception could occur during render mode transitions, such as when navigating between pages with different render modes.

## Core 

**Improvements** 

* Added support for unmatched attributes in **C1HtmlButton** and **C1ToggleButton** components, allowing developers to pass arbitrary HTML attributes.
* Added a **KeyDown** event to **C1ToggleButton** to enable keyboard interaction.
* Enabled support for **ARIA** attributes in **C1ToggleButton**, improving accessibility compliance.

**Bug Fixes** 

* Fixed a **System.InvalidOperationException** in the **ThemeEx** class that occurred when creating static theme values by using a thread-safe approach for initialization. 
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.

## FlexViewer 

**Improvements** 

* Improved WCAG accessibility by ensuring the **Page Number** input element is properly labeled and by enabling keyboard access to the scrollable region.

**Bug Fixes** 

* Resolved an issue where the **ComboBox** dropdown failed to remain expanded when toggling checkbox items within the **Parameters** tab.
* Resolved an intermittent error in the **BlazorExplorer** sample that occurred when repeatedly selecting **FlexReports** from the *Select report* dropdown.
* Fixed an issue where the **Page Label** text became selected during navigation to the next or previous page.
* Addressed an issue where navigation arrow buttons appeared dim when navigating to a PDF document for the first time after the page loaded.
* Resolved the image distortion issue on the PDF page in the BlazorExplorer sample to ensure proper image rendering in C1FlexViewer.
* Fixed an issue where navigating with page navigation buttons caused the browser to scroll the entire screen, ensuring that the **FlexViewer** scroll position is now maintained.

## Grid 

**Improvements** 

* Added the **FilteredFields** property to allow specification of column data types to be included in filtering, along with the **MatchBoolean** property to control filtering of Boolean columns, enabling a more relevant and streamlined filtering.

**Bug Fixes** 

* Fixed an issue where child rows collapsed unexpectedly when a group row exited edit mode.
* Fixed an issue where **OnClick** events on buttons were not consistently triggered when the mouse was moving by introducing a minimum pointer movement threshold before activating cell selection.
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.
* Fixed a **NullReferenceException** that occurred when deleting a row using the Delete key while no cursor was set, including scenarios after filtering cells or selecting all rows with Ctrl + A.
* Corrected paste behavior in sorted columns to ensure values were applied to the correct rows.

## GridControl 

**Improvements** 

* Improved the **GridControl** layout logic to enhance resilience and handle extra layout passes. This change addresses potential layout reentrancy issues that could lead to exceptions, such as **System.ArgumentOutOfRangeException**, in scenarios involving dynamic data updates or complex layouts.

**Bug Fixes** 

* Resolved a layout cycle issue that occurred when setting the **ItemsSource** property, ensuring proper synchronization between row enumeration and cell recycling logic to prevent display flickering and incorrect bottom row layout.
* Fixed incorrect behavior when dragging selection adorners in **CellRange** and **MultiRange** selection modes, ensuring accurate resizing of the selection range, even when selected areas are scrolled out of view.
* Resolved an issue where resizing a column or row to a large dimension could push it out of view by incorrectly changing the grid's extent size, thereby preventing unexpected scrolling and visual jumping.
* Fixed an issue where **OnClick** events on buttons were not reliably triggered when the pointer was moving by introducing a minimum pointer movement threshold before activating cell selection.
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.

## Input 

**Improvements** 

* Added support for the **TabIndex** parameter in **C1AutoCompleteTextBox** and **C1DropDown** to allow proper navigation between controls using the Tab key.
* Enhanced **C1DropDown** to restore focus to the previously focused element when the component closes, preventing focus-jumping issues and ensuring correct focus behavior in grid editors and other child content.
* Enabled support for **ARIA** attributes in **C1ComboBox** and **C1DropDown** to improve accessibility compliance.
* Updated **C1ComboBox** to allow exclusion of the toggle button from tab navigation when an editor is present.
* Added support for unmatched attributes in **C1DropDown** and **C1TextBox**, arbitrary HTML attributes.

**Bug Fixes** 

* Fixed **C1CheckBox** to avoid rendering the **tabindex** attribute when no value is provided, addressing re-render issues introduced in .NET 10.
* Fixed **C1ToggleButton** to ensure it re-renders correctly on click, maintaining accurate UI state.
* Fixed a **C1Popup** JavaScript error (elementFromPoint) that occurred when clicking an already opened popup without moving the pointer.
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.
* Fixed text wrapping in **C1ComboBox** when **IsEditable** is false and the control width is insufficient, preventing content overflow.
* Fixed **MaskedTextBox** to correctly handle text selection and mask editing, preventing a JavaScript "maximum call stack exceeded" error.

## ListView 

**Improvements** 

* Added support for unmatched attributes in **C1ListView**, allowing arbitrary HTML attributes.
* Enabled support for **ARIA** attributes in **C1ListView** to improve accessibility compliance.

## Menu 

**Breaking Changes** 

* Introduced a unified **Orientation** enumeration shared across all C1 libraries.

**Improvements** 

* Added support for unmatched attributes in **C1MenuList** and **MenuVirtualStackPanel**, allowing arbitrary HTML attributes.
* Enabled support for **ARIA** accessibility attributes in **C1Menu** to improve accessibility compliance.

**Bug Fixes** 

* Fixed memory leaks in **C1Menu**.
* Fixed an issue where **Up/Down** buttons were not displayed in sub-menu dropdowns when the **SubMenuMaxHeight** property was set and not all sub-menus were visible.
* Fixed C1MenuList to stop keyboard events from propagating for handled keys. 
* Fixed MenuItemView to handle cases where MenuItem is disposed. 
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.

## TreeView 

**Bug Fixes** 

* Fixed an issue where C1TreeView did not visually update after node removal by synchronizing rendering with TreeViewVirtualStackPanel. (C1XAML-38815) 
* Fixed a JavaScript interop exception that could occur during render mode transitions, such as when navigating between pages with different render modes.

 