Skip to content

Improvements in v3.3.0

xceed.com edited this page Jun 18, 2018 · 5 revisions

v3.3.0

Released March 5, 2018.

Major Update

  • Major update to DataGrid control providing significantly improved performance, reliability and functionality.

35 bug fixes and improvements

  • In PropertyGrid, searching propertyItem names in expandable Properties is now available.
  • In PropertyGrid, using the attribute “RefreshProperties” on a property and modifying this Property, will now refresh the PropertyGrid and restore the categories states (expanded/collapsed).
  • In MessageBox, setting the owner with a window handle is now possible when using the new public methods “Show”.
  • In CollectionControl, when the ItemsSource is null and items are added to a new list, changes will now be persisted.
  • In CollectionControl, when the ItemsSource is null and items are added to a new array, changes will now be persisted.
  • In AvalonDock, an AutoHide LayoutAnchorable will now always appear on top of other controls.
  • In Zoombox, the viewbox factor will now be properly updated when the content of the zoombox changes its size.
  • In Wizard, the “Cancel” button is now on right as in standard controls. Also, the “Finish” button will now appear in place of the “Next” button when the property “CanFinish” becomes true.
  • In DateTimePicker, modifying the date will now keep the previously set time.
  • In RichTextBox, binding the Text property one-way will now work as expected.
  • In DropDownButton and SplitButton, the new property DropDownContentBackground can now be used to set the popup content’s Background.
  • In ColorCanvas, omitting the ‘#’ character while setting a new Hexadecimal color will no longer reset to the old color. Instead, the ‘#’ will automatically be applied.
  • In ColorCanvas, ByteUpDowns are now used to edit the ARGB values.
  • In AvalonDock, LayoutAnchorables can now be closed when their CanClose property is set to true. Or, they can now be hidden when their CanHide property is true.
  • In AvalonDock, pinning a LayoutAnchorable to a LayoutAnchorSide will no longer crash after loading a Layout.
  • In AvalonDock, Deserializing a layout with AutoHidden LayoutAnchorables will no longer crash.
  • In AvalonDock, un-hiding a LayoutAnchorable after deserialization will no longer make the Layoutanchorable disappear.
  • In PropertyGrid, the new property ShowHorizontalScrollBar can now be set to show/hide the horizontal scrollbar.
  • In ColorPicker, the new property DisplayColorTooltip can now be set to show/hide the popup preset color name tooltips.
  • In PropertyGrid, properties of type TextBlock will now use a characterEllipsis text trimming.
  • In CollectionControlDialog, cloning an object with no default constructor and clicking the Cancel button will no longer crash.
  • In ColorCanvas, the conversion RGB to HSV is now correctly done.
  • In DropDownButton, setting an ItemsControl as the DropDownContent will now show its items.
  • In Magnifier, the new method “Freeze” is now available to stop/restart the magnifier from following the mouse position.
  • In PropertyGrid, the propertyItem names that passes the filter will now be highlighted in yellow.
  • In PropertyGrid, exceptions will no longer be thrown when trying to get the type of the editor attribute.
  • In PropertyGrid, resetting a value will now be possible when the DefaultValue attribute is used.
  • In DateTimePicker, TimePicker and DateTimeUpDown, clicking the spinner buttons will now immediately update the “Value” property.
  • In CollectionControlDialog, opening a 2 dimensions array will no longer cause a crash.
  • In CollectionControl, a TargetParameterCountException will no longer be thrown when the ItemsSource is a Collection of Collections.
  • In AvalonDock, using a style selector (property DockingManager.LayoutItemContainerStyleSelector) with the DockingManager.DocumentsSource property will now apply the desired style.
  • In AvalonDock, resizing a LayoutAnchorable after a theme change will no longer cause a crash.
  • In AvalonDock, using a FloatingWindow will no longer display only parts of the content.
  • In CollectionControl, modifying a value in a multi-dimensional array will no longer cause a crash or resets to a value of 0.
  • In CollectionControl, cancelling the edition on multi-dimensional arrays will now work by reverting the values.

v3.3.0 Plus Edition

Released to registered users of the Plus Edition on March 1, 2017.

Major Update

  • Major update to DataGrid control providing significantly improved performance, reliability and functionality.

44 improvements and bug fixes

  • 35 improvements and bug fixes from the free edition (see above)
  • All the toolkit’s controls now support UI Automation.
  • In TokenizedTextBox, the event ItemSelectionChanged is now raised when TokenizedTextBox.SelectedItems adds or removes items(visually or in code-behind).
  • In the Windows 10 theme, windows will now have the proper default Foreground brush.
  • In PropertyGrid, the new property IsExpanded on CategoryDefinition can now be used to define the expanded/collapsed status of a category at loading time.
  • In Chart, a binding on the Area.Title property will now work if the Chart is located in a DataTemplate.
  • In MaterialTabControl, when space is limited, the MaterialTabItems will no longer be displayed on multi-lines. Instead, you will now be able to scroll between tabitems.
  • In MaterialSlider, setting the orientation to vertical and modifying the thumb’s position will no longer crash or set a wrong final position.
  • In PropertyGrid, Advanced option icons will now be visible when using multi-selected objects.
  • In PropertyGrid, the new event IsPropertyExpandable will now be raised for every PropertyItem in order to set the expandable status of each propertyItem.

v3.4.0 Plus Edition

Released to registered users of the Plus Edition on June 5, 2017.

52 improvements and bug fixes

  • In AvalonDock, theming for Windows10 will now be possible through MergedDictionaries. (Plus Only)
  • In AvalonDock, LayoutDocuments now have the possibility to be ‘pinned’ in a LayoutDocumentPane. (Plus Only)
  • In Chart, the axis will now include a tick for the maximum value of a series. (Plus Only)
  • In CheckCombox (themed for Windows 10), setting the IsEnabled property to false no longer causes a crash. (Plus Only)
  • In ListBox, doing a large scrolling with an async data source provider, containing a CanCount property set to False, will no longer cause a crash. (Plus Only)
  • In MaterialProgressBarCircular, modifying the IsIndeterminate property will now stop/play the circular animation properly. (Plus Only)
  • In MultiCalendar, when used in a Grid, the calendars will now be correctly displayed. (Plus Only)
  • In MultiCalendar, setting the SelectedDate to null will no longer cause a crash. (Plus Only)
  • In PropertyGrid, dictionary items will now be displayed as expandable objects when setting the property IsExpandingNonPrimitiveTypes to true. (Plus Only)
  • In ToggleButton themed under Windows10, the padding will now be applied. (Plus Only)
  • In AvalonDock, Deserialization using a StringReader no longer throws an exception.
  • In AvalonDock, when no LayoutDocumentPane is defined, auto-hiding a LayoutAnchorable no longer automatically docks it to the right.
  • In AvalonDock, the NavigatorWindow now accepts the Tab key to select LayoutAnchorable or LayoutDocument items.
  • In AvalonDock, using Ctrl + Tab to select a new LayoutAnchorable/LayoutDocument now properly sets the focus on the selected item.
  • In AvalonDock, docking a LayoutAnchorable in a LayoutDocumentPane now shows its close button.
  • In AvalonDock, the orientation of the RootPanel is now correctly set after de-serialization.
  • In AvalonDock, deserializing no longer makes the LayoutDocuments icons disappear.
  • In AvalonDock, serializing with hidden LayoutAnchorables no longer causes a crash.
  • In AvalonDock, LayoutAnchorables no longer remain hidden after calling LayoutAnchorable.Show().
  • In AvalonDock, LayoutDocumentPanes are now hidden when all its children become invisible.
  • In CheckComboBox, 2 new events will now be raised (Opened/Closed) when the popup is opened/closed.
  • In CheckListBox/CheckComboBox, the Command property will now be raised for every item selection/unselection, even if the item was never displayed.
  • In CheckListBox/CheckComboBox, the ItemSelectionChanged event will now be raised for every item selection/unselection, even if the item was never displayed.
  • In CheckComboBox and CheckListBox, a “Select All” option will now be supported.
  • In CheckListBox/CheckComboBox, removing a selected item will now also remove it from the SelectedItems collection.
  • In CollectionControl, the new properties PropertiesLabel and TypeSelectionLabel are now available to customize the layout labels.
  • In CollectionControl, selecting a new ListBoxItem after editing a PropertyItem from the PropertyGrid will now correctly select the clicked ListBoxItem.
  • In CollectionControl, the new “Duplicate” button will now be available to clone a ListBoxItem.
  • In CollectionControl, when the DisplayName attribute is defined for a user object, it will now be used as the object name in the ComboBox and ListBox.
  • In DataGridControl, using a filter predicate on a DataGridCollectionView will now correctly filter items.
  • In DataGridControl, updating an item in code-behind will now correctly display the modification in the DataGridControl.
  • In DataGridControl, DataGridVirtualizingQueryableCollectionView will no longer throw exceptions.
  • In DataGridControl, using a TableView will no longer throw an exception.
  • In DataGridControl, the shared theme resource dictionary uri creation will now provide the full assembly information to load the system themes.
  • In DateTimeUpDown, DateTimePicker and TimePicker, incrementing or decrementing the value with the spinner buttons will now act on the selected date part.
  • In NumericUpDowns, the new property MaxLength will now be available to set the maximum number of characters that can be entered.
  • In PropertyGrid, numeric up down editors will now display a red border when the value cannot be converted.
  • In PropertyGrid, the ItemsSourceAttributeEditor will now be disabled when the associated propertyItem is read only.
  • In PropertyGrid, opening a CollectionControl editor will no longer crash when the items of the Collection contains List properties.
  • In PropertyGrid, defining EditorDefnitions will now apply them to the custom editors of the CollectionControl’s PropertyGrid.
  • In PropertyGrid, the Name column resizing thumb will no longer be draggable passed the PropertyGrid’s width.
  • In PropertyGrid, the propertyItem’s “Reset” option will now be disabled when clicking on an advanced options icon from a propertyItem where its value is equal to its default value.
  • In PropertyGrid, the “Reset” option from the advanced option icons will no longer be disabled at startup.
  • In PropertyGrid, when the ShowAdvancedOptions property is true, clicking an advanced option icon to reset its associated propertyItem’s value will now reset the correct value.
  • In PropertyGrid, the propertyItem’s advanced option icons will now be updated when the PropertyItem’s value is different from its default value.
  • In PropertyGrid, resetting a propertyItem to its default value will now correctly update its value.
  • In PropertyGrid, the new property IsScrollingToTopAfterRefresh is now available to prevent or force a scrolling to top after a refresh of the PropertyItems.
  • In PropertyGrid, when the IsReadOnly property is true, the copy to the clipboard of numeric/text values will now be available.
  • In PropertyGrid, when the IsReadOnly property is true, the propertyItems with a CollectionEditor will no longer get blocked from viewing their content.
  • In TimelinePanel, the new property VisibleElements is now available to query the date elements in the order they appear.
  • In TimeSpanUpDown, deleting a time part will no longer cause a crash.
  • All the controls contained in the Nuget packages now check for a valid license key (entered manually or in registries)

v3.5.0 Plus Edition

Released to registered users of the Plus Edition on Sept 12, 2017.

29 improvements and bug fixes

  • In ListBox, dragging a ListBoxItem over a non-visual control will no longer throw an exception. (Plus Only)
  • In MaterialComboBox, the new DropDownContentBackground property is now available to customize the background of the popup. (Plus Only)
  • In MaterialDropDownButton, the DropDownContentBackground property will now update the popup background. (Plus Only)
  • In PropertyGrid, the UI will no longer freeze when adding/removing selected objects, and performance optimizations will now improve the response time for common property searches. (Plus Only)
  • In AvalonDock, dropping a LayoutDocument or LayoutAnchorable from a DockingManager to a nested DockingManager will no longer be allowed.
  • In AvalonDock, changing the theme while a Layout floating window is active will no longer cause a crash.
  • In AvalonDock, setting a Background on an implicit style for a LayoutAnchorSideControl will now work.
  • In AvalonDock, side panels will now be extended to the DockingManager's control limits.
  • In AvalonDock, the Alt key adornments will now work when items are defined in a DataTemplate of a resource dictionary.
  • In AvalonDock, the new CreateFloatingWindow method will now be available to create a new LayoutAnchorableFloatingWindow or LayoutDocumentFloatingWindow with a content that can be immutable.
  • In AvalonDock, modifying the content of a floating window will now resize the window according to its SizeToContent property.
  • In AvalonDock, auto-hiding a LayoutAnchorable will no longer anchor it on the opposite side.
  • In AvalonDock, re-ordering LayoutAnchorable TabItems will no longer cause a crash.
  • In AvalonDock, the new LayoutAnchorable.CanDockAsTabbedDocument property is now available to prevent docking a LayoutAnchorable in a LayoutDocumentPane.
  • In AvalonDock, the new LayoutDocument.CanMove property is now available to prevent moving a LayoutDocument.
  • In AvalonDock, auto-hidden LayoutAnchorables will now be draggable to a floating window.
  • In AvalonDock Metro Theme, un-selecting a LayoutAnchorable will no longer create a jump of 3 pixels.
  • In AvalonDock, opening an auto-hide window while the "Visual Studio UI Debugging Tools for XAML" is enabled will no longer cause a crash.
  • In ColorCanvas, using the keyboard up/down keys will now move the vertical slider thumb faster.
  • In ColorCanvas, the vertical slider thumb will now be easier to hit with the mouse.
  • In ColorPicker, the color spectrum will now be visible in the Advanced tab.
  • In DateTimeUpDown, pressing the escape key will now reset the text to the last valid value.
  • In DateTimeUpDown, DateTimePicker and TimeSpanUpDown, incrementing a datetime part containing special characters will no longer cause a crash.
  • In PropertyGrid, when a custom editor is defined, its IsReadOnly and IsEnabled properties will no longer be overwritten.
  • In PropertyGrid, setting the SelectedObject to null will now remove all propertyItems.
  • In RangeSlider, clicking on the track will now move the associated thumb by "Step" value.
  • In SplitButton, the tab key can now be used to navigate to the toggle button inside the SplitButton.
  • In SplitButton, setting a transparent BorderBrush will now remove the border brush.
  • In TimeSpanUpDown, the new ShowDays property can now be set to false to hide days and display hours greater than 24h.

v3.6.0 Plus Edition

Released to registered users of the Plus Edition on January 15, 2018.

New control

  • ExtendedTabControl: Displays TabItems in a single line and offers right/left buttons for scrolling, and a ComboBox to navigate to a specific TabItem.

40 improvements and bug fixes

  • In ListBox, removing a ListBoxItem will no longer cause an exception relative to an unknown size. (Plus Only)
  • In MaterialButton, the disabled state will now be visible when a background has been set. (Plus Only)
  • In MaterialTabControl, modifying the TabStripPlacement after the control is loaded will no longer cause a crash. (Plus Only)
  • In UI Automation, the WatermarkTextBox now uses the Value pattern for the Text part. (Plus Only)
  • All controls now include the Toolkit icon in the Visual Studio Toolbox.
  • In AvalonDock, resizing a LayoutAnchorable when its DockWidth property is set to "Auto", will no longer cause a crash.
  • In AvalonDock, null checks will now prevent crashes when creating the View.
  • In AvalonDock, selecting a new LayoutAnchorableTabPanel from an auto sized width panel, will no longer undock the LayoutAnchorableTabPanel.
  • In AvalonDock, LayoutContent.ContentID is now a bindable dependency property.
  • In AvalonDock, loading a saved DockingManager containing LayoutAnchorableFloatingWindows or LayoutDocumentFloatingWindows will no longer cause a crash.
  • In AvalonDock, setting the DockWidth or DockHeight of a LayoutAnchorablePane or LayoutDocumentPane will now correctly adjust the size of the panes.
  • In AvalonDock, floating windows will no longer have blurry buttons.
  • In AvalonDock, modifying the theme will now update the side anchored items.
  • In AvalonDock, to improve the performance when the LayoutGridControl is initialized, children are now updated only for DirectChildren changes.
  • In AvalonDock, LayoutAnchorablePanes now have the possibility to be docked in a LayoutAnchorableFloatingWindow, when hosted in a WinForm.
  • In AvalonDock, when the last LayoutDocument is removed, the DockingManager.ActiveContent will no longer have a reference to this last removed LayoutDocument, to prevent a memory leak.
  • In AvalonDock, the DockingManager.LayoutItemTemplate property will now be applied to LayoutAnchorable controls.
  • In AvalonDock, the properties DockMinWidth and DockMinHeight are now correctly serialized.
  • In AvalonDock, using frame navigation with LayoutAnchorableFloatingWindow will no longer cause a crash.
  • In Calculator, the default Foreground color will now be set to black to make sure its DisplayText value is visible.
  • In CollectionControlButton, the new CollectionUpdated event will now be raised when an item is added, removed, moved or modified in the collection.
  • In CollectionControlDialog, using Shapes will no longer throw exceptions.
  • In ColorPicker, new properties are now available to customize the drop down popup.
  • In ColorPicker, the AdvancedButtonHeader property is now named AdvancesTabHeader, and the StandardButtonHeader property is now named StandardTabHeader.
  • In DateTimeUpDown, DateTimePicker and TimePicker, the new AutoClipTimeParts property is now available to clip hours over 24 and minutes/seconds over 60.
  • In DateTimeUpDown, DateTimePicker and TimePicker, when using a format containing single quotation marks, the value entered will now be correctly parsed.
  • In DateTimeUpDown, DateTimePicker, TimePicker and MultiCalendar, the DateTime.MinValue and DateTime.MaxValue will now work for all Calendar types.
  • In MaskedTextBox, the GetIsEditEmpty method will no longer crash when the View becomes null.
  • In PropertyGrid and NumericUpDowns, the editors for unsigned values (uint, ulong, ushort and sbyte) is now public.
  • In PropertyGrid, the new PropertyNameLeftPadding property will now be available to modify the spacing on the left of each property name.
  • In PropertyGrid, the new CategoryGroupHeaderTemplate property will now make it possible to customize the category headers.
  • In PropertyGrid, moving the mouse over numeric propertyItems will no longer move up and down, or make other propertyItems blurry.
  • In PropertyGrid, the mouse wheel will now work when the mouse is over a sub property of an expandable property.
  • In PropertyGrid, PropertyDefinitions are now a bindable dependency property.
  • In PropertyGrid, when using an attribute editor which is located in another assembly, the propertyGrid no longer throws exceptions and will now cache the used editors.
  • In PropertyGrid, the default value attribute of a property will no longer overwrite a value set by the user at initialization.
  • In RichTextBoxFormatBar, the bar will now always appear in its parent RichTextBox.
  • In TimePicker, when defined in a DataTemplate, binding errors relative to the IsOpen property are no longer thrown.
  • In TimeSpanUpDown, entering an hour value greater than 24, or a minutes/seconds value greater then 60, will now correctly update the time value.
  • In Zoombox, exceptions will no longer be thrown when the viewFinderDisplay.AvailableSize is empty.

v3.7.0 Plus Edition

Released to registered users of the Plus Edition on June 18, 2018.

27 improvements and bug fixes

  • In AvalonDock, the new CacheDocumentTabItems property from DockingManager will now prevent the LayoutDocumentPaneControl from reloading the TabItems each time they get selected. (Plus Only)
  • In Chart, using bindings for the CustomRangeStart/CustomRangeEnd properties (from the Axis class), and modifying those values, will now properly update the Chart. (Plus Only)
  • In ExtendedTabControl, using a style based on TabControl will now work correctly. (Plus Only)
  • In MaterialTextField, loading the control with a Text and a Watermark will no longer create an overlap of text and watermark. (Plus Only)
  • In MaterialTextField, multi-line editing will now be supported when setting TextWrapping="Wrap". (Plus Only)
  • In PropertyGrid, reloading the PropertyGrid when many selected objects are used will no longer create a 'flash'. (Plus Only)
  • In PropertyGrid, when the IsScrollingToTopAfterRefresh property is false and many selected objects are used, refreshing the PropertyGrid will no longer scroll to the top. (Plus Only)
  • In AvalonDock, deserializing a maximized floating window will now display it on the correct monitor.
  • In AvalonDock, dropping a floating LayoutAnchorable will no longer cause an exception when its IsActive property is set before the LayoutAnchorable is added to its parent.
  • In AvalonDock, resizing a floating window containing a LayoutAnchorable or LayoutDocument will now correctly adjust its children's size to fit this floating window's size.
  • In AvalonDock, using a LayoutAnchorablePaneGroup with a specific DockWidth/DockHeight containing more than one child will now correctly display all its children.
  • In AvalonDock, using a Two-Way binding on DockingManager.ActiveContent will now be possible.
  • In AvalonDock, using LayoutDocuments with DataTemplates in Resources will no longer show an empty floating window when undocking them.
  • In AvalonDock, using the DocumentsSource or AnchorablesSource properties with static collections will no longer cause memory leaks.
  • In ByteUpDown, the default value for the property MaxLength will now be set to 3, limiting the maximum number of character entries to 3.
  • In CheckComboBox, using the keyboard to move or select items in the drop down will now be supported.
  • In CheckComboBox, when the IsEditable property is true and the focus is set on the control from code-behind, the focus will now appear on the TextBox of the CheckComboBox.
  • The ColorPicker and its DropDownBackground property will now work correctly under Windows 7.
  • In DataGrid, defining columns' FieldName with an IList indexer will no longer cause an exception.
  • In DataGrid, item drag and drop will now work correctly.
  • In DataGrid, scrolling horizontally when no ItemsSource is defined will now be possible.
  • In DateTimePicker and DateTimeUpDown, the CultureInfo.Calendar.TwoDigitYearMax property will now be read when 2 digits are used in the year formatting. This will offer the possibility to configure the 100- year range around which the 2-digit year will be built.
  • In MaskedTextBox, text input will now be possible when the mask starts with < or >.
  • In MaterialListBox and MaterialComBoBox, using the DisplayMemberPath property will now work like in a ListBox or ComboBox.
  • In PropertyGrid, modifying the IsReadOnly property (or a propertyItem's IsReadOnly property) will now update the corresponding editors.
  • In TimeSpanUpDown, selections, pasting, increments and movements have been reviewed and will now be more stable.
  • In TimeSpanUpDown, typing big values and replacing a colon with a number will now be supported.
  • In TimeSpanUpDown, when the property ShowDays is set to true, entering a value greater than 24 for the hours will now convert the value to the corresponding number of days.

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