Skip to content

Improvements in v4.0.0

XceedBoucherS edited this page Jun 26, 2020 · 1 revision

v4.0.0

Released June 26, 2020.

46 bug fixes and improvements

  • Starting at v4.0.0, the Extended WPF Toolkit is provided under the Xceed Community License agreement(for non-commercial use).
  • In AdditionConverter, using an Int32 now correctly converts to a double before doing the addition.
  • In AvalonDock, auto-hiding a LayoutAnchorable now auto-hides it on the closest side.
  • In AvalonDock, Chinese localization texts have been reviewed to use simplified texts.
  • In AvalonDock, clicking in a LayoutDocument/LayoutAnchorable of a DockingManager located inside another DockingManager no longer mixes the ActiveContent of DockingManagers.
  • In AvalonDock, closing a LayoutAnchorable no longer prevents from showing hidden LayoutAnchorables.
  • In AvalonDock, deserializing a DockingManager containing floatingWindows now correctly displays the floatingWindow's position and size.
  • In AvalonDock, deserializing a LayoutRoot now reads the end element.
  • In AvalonDock, docking a floatingWindow now keeps the focus on the DockingManager when other windows are opened.
  • In AvalonDock, dragging a LayoutAnchorable with its CanFloat property set to false no longer makes the pane disappear.
  • In AvalonDock, floating a LayoutAnchorable initially defined in a LayoutDocumentPane now correctly displays the "X" button when its CanClose property is true.
  • In AvalonDock, floating a new horizontal/vertical tab group now creates a floating window with a normal size.
  • In AvalonDock, hiding LayoutAnchorables from a LayoutAnchorGroup, and showing them back after the LayoutAnchorGroup is gone, no longer raises an exception.
  • In AvalonDock, hitting Ctrl + Tab from floating windows now opens the NavigatorWindow even when the content does not have the focus.
  • In AvalonDock, making a LayoutDocument/LayoutAnchorable active by clicking in its content now works in all cases.
  • In AvalonDock, minimizing a floating window with the SystemCommands.MinimizeWindow method now minimizes the floating window.
  • In AvalonDock, moving a floatingWindow containing LayoutAnchorable(s) with the CanDockAsTabbedDocument property set to false, no longer creates a drop area over a LayoutDocumentPane.
  • In AvalonDock, panes with a star DockWidth/DockHeight no longer starts with the DockMinWidth/DockMinHeight values.
  • In AvalonDock, right-clicking on the sides of the LayoutAnchorableTabItems or LayoutDocumentTabItems now opens the contextMenu.
  • In AvalonDock, setting the LayoutDocument.IsActive property to true before insertion no longer throws a null reference exception.
  • In AvalonDock, the DockingManager.LayoutItemContainerStyle property can now be used to create a style which redefines the LayoutItem commands.
  • In AvalonDock, the LayoutContent.CanClose property is now always serialized.
  • In AvalonDock, the LayoutContent.PreviousContainer and LayoutContent.PreviousContainerId properties now offer a public getter.
  • In AvalonDock, using Alt + F4 to close/hide a LayoutAnchorableFloatingWindow/LayoutDocumentFloatingWindow no longer closes/hides a window when CanClose/CanHide is false.
  • In AvalonDock, using serialization along with the DockingManager.DocumentsSource or AnchorablesSource properties now correctly restores the layout upon deserializing.
  • In AvalonDock, using the drag splitter for a LayoutDocument/LayoutAnchorable in 'star' mode, in order to resize it, now results in a valid resized pane.
  • In AvalonDock, using the left/right arrows on LayoutAnchorableTabItems/LayoutDocumentTabItems now cycles from first to last and vice versa. Also, using shift + F10 on LayoutAnchorableTabItems/LayoutDocumentTabItems now opens the contextMenu.
  • In AvalonDock, using the NavigatorWindow to select a LayoutItem now sets the focus inside the selected LayoutItem.
  • In AvalonDock, when the MainWindow containing a DockingManager regains the focus, the last LayoutAnchorableControl/LayoutDocumentControl focused no longer gets activated when the click is outside the DockingManager.
  • In BusyIndicator, InvalidCastExceptions are no longer thrown when the values received are unset.
  • In CheckListBox/CheckComboBox, using the SelectAll method with more than 200 items is now faster when selecting all items.
  • In CheckComboBox, modifying the value of a SelectedMemberPath now modifies the value only when needed, this improves the performance when the CheckComboBox contains hundreds of items.
  • In CheckComboBox and CheckListBox, when a SelectedMemberPath is used, the SelectedMemberPath value will be updated in the ItemSelectionChanged callback.
  • In CollectionControlDialog, opening an object containing a sub-object of type ControlTemplate no longer raises an exception.
  • In CollectionControlDialog, using an indexed property no longer throws an ArgumentOutOfRange exception.
  • In ColorPicker, the new DropDownBorderThickness and DropDownBorderBrush properties are now available to customize the DropDown popup borders.
  • In DateTimePicker, using a mouse double-click on a CalendarDayButton now closes the calendar popup.
  • In DateTimePicker, setting the Maximum/Minimum properties near the Maximum/Minimum supported values no longer throws an exception.
  • In NumericUpDowns, when UpdateValueOnEnterKey is true and the TextBox is empty, using the up/down buttons no longer throws an InvalidOperationException.
  • In PropertyGrid, all the editors can now have their visual properties overridden in a custom style.
  • In PropertyGrid, using the ComboBoxEditor with nullable values now displays a 'Null' option in the ComboBox.
  • In PropertyGrid, attributes with UsageAttribute.AllowMultiple set to true will now override the TypeId to ensure uniqueness.
  • In RichTextBox, when a new character is typed, the Text property is now updated before raising the TextChanged event.
  • In SplitButton, the new DropDownTooltip property is now available to set a tooltip for the DropDownButton of the SplitButton.
  • In TimeSpanUpDown, when UpdateValueOnEnterKey is true and the content is empty, using the up/down buttons no longer throws an Null Reference exception.
  • In WatermarkPasswordBox, using the 'Enter' key no longer steals the focus.

v4.0.0 Plus Edition

Released to registered users of the Plus Edition on January 30, 2020.

63 improvements and bug fixes

  • All controls from the Toolkit are now available for the .NET Core 3 platform.
  • In AdditionConverter, using an Int32 now correctly converts to a double before doing the addition.
  • In AvalonDock, auto-hiding a LayoutAnchorable now auto-hides it on the closest side.
  • In AvalonDock, caching TabItems and changing the selected tabItem no longer raises the Loaded/Unloaded event for the TabItems content items.
  • In AvalonDock, Chinese localization texts have been reviewed to use simplified texts.
  • In AvalonDock, clicking in a LayoutDocument/LayoutAnchorable of a DockingManager located inside another DockingManager no longer mixes the ActiveContent of DockingManagers.
  • In AvalonDock, closing a LayoutAnchorable no longer prevents from showing hidden LayoutAnchorables.
  • In AvalonDock, deserializing a DockingManager containing floatingWindows now correctly displays the floatingWindow's position and size.
  • In AvalonDock, deserializing a LayoutRoot now reads the end element.
  • In AvalonDock, docking a floatingWindow now keeps the focus on the DockingManager when other windows are opened.
  • In AvalonDock, dragging a LayoutAnchorable with its CanFloat property set to false no longer makes the pane disappear.
  • In AvalonDock, floating a LayoutAnchorable initially defined in a LayoutDocumentPane now correctly displays the "X" button when its CanClose property is true.
  • In AvalonDock, floating a new horizontal/vertical tab group now creates a floating window with a normal size.
  • In AvalonDock, hiding LayoutAnchorables from a LayoutAnchorGroup, and showing them back after the LayoutAnchorGroup is gone, no longer raises an exception.
  • In AvalonDock, hitting Ctrl + Tab from floating windows now opens the NavigatorWindow even when the content does not have the focus.
  • In AvalonDock, making a LayoutDocument/LayoutAnchorable active by clicking in its content now works in all cases.
  • In AvalonDock, minimizing a floating window with the SystemCommands.MinimizeWindow method now minimizes the floating window.
  • In AvalonDock, moving a floatingWindow containing LayoutAnchorable(s) with the CanDockAsTabbedDocument property set to false, no longer creates a drop area over a LayoutDocumentPane.
  • In AvalonDock, panes with a star DockWidth/DockHeight no longer starts with the DockMinWidth/DockMinHeight values.
  • In AvalonDock, poping a MaterialToast inside a floatingWindow now displays the MaterialToast correctly.
  • In AvalonDock, right-clicking on the sides of the LayoutAnchorableTabItems or LayoutDocumentTabItems now opens the contextMenu.
  • In AvalonDock, setting the LayoutDocument.IsActive property to true before insertion no longer throws a null reference exception.
  • In AvalonDock, the CanTogglePin property is now available on the LayoutItem object, to be able to set it in a style targeting a LayoutItem.
  • In AvalonDock, the DockingManager.LayoutItemContainerStyle property can now be used to create a style which redefines the LayoutItem commands.
  • In AvalonDock, the LayoutContent.CanClose property is now always serialized.
  • In AvalonDock, the LayoutContent.PreviousContainer and LayoutContent.PreviousContainerId properties now offer a public getter.
  • In AvalonDock, the new CacheAnchorableTabItems property from DockingManager now prevents the LayoutAnchorablePaneControls from reloading the TabItems each time they get selected.
  • In AvalonDock, using Alt + F4 to close/hide a LayoutAnchorableFloatingWindow/LayoutDocumentFloatingWindow no longer closes/hides a window when CanClose/CanHide is false.
  • In AvalonDock, using serialization along with the DockingManager.DocumentsSource or AnchorablesSource properties now correctly restores the layout upon deserializing.
  • In AvalonDock, using the drag splitter for a LayoutDocument/LayoutAnchorable in 'star' mode, in order to resize it, now results in a valid resized pane.
  • In AvalonDock, using the left/right arrows on LayoutAnchorableTabItems/LayoutDocumentTabItems now cycles from first to last and vice versa. Also, using shift + F10 on LayoutAnchorableTabItems/LayoutDocumentTabItems now opens the contextMenu.
  • In AvalonDock, using the NavigatorWindow to select a LayoutItem now sets the focus inside the selected LayoutItem.
  • In AvalonDock, when the MainWindow containing a DockingManager regains the focus, the last LayoutAnchorableControl/LayoutDocumentControl focused no longer gets activated when the click is outside the DockingManager.
  • In AvalonDock Themes, when the CacheTabItems property is set to true, selecting an already visited TabItem now prevents a reload of the TabItem's content.
  • In AvalonDock and WatermarkTextBox, the UI Automation properties Name, AutomationId and HelpText now work for LayoutAnchorables, LayoutDocuments and WatermarkTextBox.
  • In BusyIndicator, InvalidCastExceptions are no longer thrown when the values received are unset.
  • In Chart, setting the CustomRangeStart/CustomRangeEnd properties on an axis now displays the chart in full size showing only the DataPoints included in the defined custom range.
  • In Chart, the Axis.Range.Start and Axis.Range.End properties are now get only properties to prevent confusion with the Axis.CustomRangeStart and Axis.CustomRangeEnd properties.
  • In CheckListBox/CheckComboBox, using the SelectAll method with more than 200 items is now faster when selecting all items.
  • In CheckComboBox, modifying the value of a SelectedMemberPath now modifies the value only when needed, this improves the performance when the CheckComboBox contains hundreds of items.
  • In CheckComboBox and CheckListBox, when a SelectedMemberPath is used, the SelectedMemberPath value will be updated in the ItemSelectionChanged callback.
  • In CollectionControlDialog, opening an object containing a sub-object of type ControlTemplate no longer raises an exception.
  • In CollectionControlDialog, using an indexed property no longer throws an ArgumentOutOfRange exception.
  • In ColorPicker, the new DropDownBorderThickness and DropDownBorderBrush properties are now available to customize the DropDown popup borders.
  • In DateTimePicker, using a mouse double-click on a CalendarDayButton now closes the calendar popup.
  • In DateTimePicker, setting the Maximum/Minimum properties near the Maximum/Minimum supported values no longer throws an exception.
  • In ExtendedTabControl, activating the CacheTabItems property and selecting a new TabItem no longer raises an exception.
  • In ExtendedTabControl, when the CacheTabItems property is set to true, changing the selected TabItem no longer raises the Loaded/Unloaded events.
  • In MaterialHamburger, using a MaterialHamburgerMenu inside AvalonDock no longer blurs its content.
  • In MaterialToast, hiding a toast in the middle of a stack of toasts no longer hides the preceding toast.
  • In NumericUpDowns, when UpdateValueOnEnterKey is true and the TextBox is empty, using the up/down buttons no longer throws an InvalidOperationException.
  • In PropertyGrid, all the editors can now have their visual properties overridden in a custom style.
  • In PropertyGrid, using the ComboBoxEditor with nullable values now displays a 'Null' option in the ComboBox.
  • In PropertyGrid, attributes with UsageAttribute.AllowMultiple set to true will now override the TypeId to ensure uniqueness.
  • In RichTextBox, when a new character is typed, the Text property is now updated before raising the TextChanged event.
  • In SplitButton, the new DropDownTooltip property is now available to set a tooltip for the DropDownButton of the SplitButton.
  • In StyleableWindow, maximizing the window now uses the available workspace from the current screen.
  • In StyleableWindow, setting the SizeToContent property to Width, Height or WidthAndHeight will no longer prevent a user from resizing the StyleableWindow.
  • In TimeSpanUpDown, when UpdateValueOnEnterKey is true and the content is empty, using the up/down buttons no longer throws an Null Reference exception.
  • In TokenizedTextBox, the new FilterType property can now be used to customize the search filter type.
  • In UI Automation for WatermarkTextBox and AutoSelectTextBox, the control type now returns 'Edit' instead of 'Custom'.
  • In WatermarkPasswordBox, using the 'Enter' key no longer steals the focus.

We hope you love this release and decide to support the project by getting a license to Xceed Toolkit Plus for WPF. -- Xceed Team


Clone this wiki locally