Release notes

November 21, 2016

Xceed DataGrid for WPF

  • Events are now fired to notify when a group or detail grid is expanded or collapsed. These events are available on DataGridControl, and they are: GroupCollapsing, GroupCollapsed, GroupExpanding, GroupExpanded, DetailsCollapsing, DetailsCollapsed, DetailsExpanding, and DetailsExpanded.
  • A column can now be set to be “undraggable” and locked into position as either the first or the last column.
  • DataGridItemProperties are now correctly prepared when aiming sub properties (e.g. Person.FirstName), their bindings are correctly notified of value changes.
  • Improved selection performance in live updating scenarios.
  • The FilterCell’s text is now visible when there is a validation error in Metro theme.
  • A negative value is no longer returned by the ColumnBase.GetFittedWidth() method for a column whose cells are visible in the DataGrid’s viewport.
  • AutoFilterValues are now correctly synchronized with the SelectedItems of the AutoFilterControl’s ListBox.
  • The mouse cursor is now correctly displayed when dragging a column over the GroupByControl with its ColumnBase.AllowGroup property set to false.
  • The ColumnChooserControl and the MergedColumnEditorControl no longer allow columns to be reordered when the corresponding ColumnManagerRow’s AllowColumnReorder property is set to “false”.
A NullReferenceException is no longer thrown when calling MoveCurrentToPosition(index) on the DataGridVirtualizingCollectionView.
The IndexOf method of the CellCollection class is now supported and no longer throws a NotSupportedException.
A TargetException is no longer thrown when changing the visibility of a column while a new item is being inserted in a DataGridCollectionView.
  • Reordering columns through drag & drop now works correctly in CardView.
An InvalidOperationException is no longer thrown when editors using a common style are displayed in different grids created on different threads.
  • Xceed.Wpf.Controls.v6.1.XmlSerializers.dll and Xceed.Wpf.DataGrid.v6.1.XmlSerializers.dll are now provided with the DataGrid binaries at installation.
Links in local documentation now work properly.

Xceed Toolkit Plus for WPF

New MaterialHamburger control lets you pop a side menu with animated items. Similar to what you find on mobile applications.
New IconButton control lets you add an icon and some data to a button’s content. IconButton also makes it easier to customize the “Background”, “BorderBrush” and “Foreground” properties on “MouseOver” and “MousePressed” events.
In MaterialSwitch, when unchecked, the “CheckBackground” will no longer be visible behind the thumb.
In Chart, when “loaded” and “displayed”, adding dataPoints will now correctly align the dataPoints and the grid lines.
In AvalonDock, the MetroAccent theme can now be set from XAML.
In ChildWindow, double-clicking on the caption bar will no longer maximize it when the “ResizeMode” is set to “NoResize” or “CanMinimize”.
In MaterialToast, the MaterialToast defined in XAML will no longer throw an exception when its property “IsOpen” becomes true.
In MaterialToast, if the MaterialToast is defined in XAML and its “IsOpen” property is changed while the sliding in/out animation is still active, the MaterialToast will no longer become invisible.
In MaterialToast, calling the “HideToast()” and “ShowToast()” methods will no longer destroy a binding on the “IsOpen” property.
In MaterialToast, the close button will now always be enabled when calling the default constructor.
In MaterialToast, the new events “Showing” and “Hiding” are now raised when the control starts to show/hide.
In DateTimeUpDown, DateTimePicker and TimePicker, an exception will now be raised to remind the user to set a “FormatString” when the format is set to custom.
In MaterialToast, setting the “VerticalContentAlignment” and “HorizontalContentAlignment” properties are now templatebound properly.
In MaterialTabControl, starting with a null “SelectedItem” and clicking on a new MaterialTabItem will no longer cause a crash.
In MaterialTabControl, when the “SelectedItem” is null, the first MaterialTabItem will no longer have a null Foreground.
In Magnifier, when the mouse is not moving, modifying the “ZoomFactor” property will now keep its content centered.
In MaterialTextField, setting a “Text” without a “Watermark” will no longer cause a crash upon loading.
In ChildWindow, MessageBox, StyleableWindow and WindowControl, the new event “Activated” will now be raised when the “IsActive” property becomes true.
In Expander, when using with “ExpanderDirection” set to  “Left” or “Right” under the Metro/Office2007 themes, the arrow and the text will now correctly be aligned.
In TokenizedTextBox, using the “SelectedItemsOverride” property while the TokenizedTextBox is placed inside a DataTemplate will no longer crash.
In TokenizedTextBox, when the “ItemsSource” is a CollectionViewSource and this CollectionViewSource is modified, typing(or removing text) in the TokenizedTextBox will no longer cause a crash.
In DataGridControl, the DataGridCheckBoxes will no longer have a blue Background.
In AvalonDock, dragging a FloatingWindow to the top of the screen will now maximize it.
In all controls, when a ControlTemplate is redefined with a missing templated part name, the application will no longer cause a crash.
In all UpDown controls, setting the “MouseWheelActiveTrigger” property to “MouseOver” will now work as expected.
In ChildWindow, MessageBox, StyleableWindow and WindowControl, the new event “Activated” will now be raised when the “IsActive” property becomes true.

In DateTimePicker, TimePicker and DateTimeUpDown, the modification of “UpdateValueOnEnterKey” property will no longer be supported. It will always be “True” to simplify input validation.
In the TimeSpanUpDown, typing a large value for hours, minutes or seconds will no longer reset the “Value” property.
In the Zoombox, when using the scrollBars, clicking on the scrollBar’s tracks will now scroll by a page.
In AvalonDock, the new property “AllowDuplicateContent” will now prevent from having 2 identical LayoutDocuments/LayoutAnchorables in a single pane.
In the PropertyGrid, using the property “PropertyDefinitions” on an expanded PropertyItem(to display specific sub-propertyItems) will now work properly.
In AvalonDock, serializing a custom LayoutDocument (or LayoutAnchorable) in a LayoutFloatingWindow will now be possible.
In DateTimePicker, when modifying the template of the DateTimePicker to use a MaskedTextBox as the “PART_TextBox” templated part, the caret position will now be correctly updated while typing.
In PropertyGrid, a horizontal scrollBar will now be displayed when needed.
In SplitButton and DropDownButton, the property “IsDefault” is now available.
In PropertyGrid, defining a custom editor as an attribute in another assembly will now be found properly.
In PropertyGrid, when using grouping, the outOfRangeException will no longer be thrown when typing text in the SearchTextBox.
In SplitButton and DropDownButton, using an implicit style on type “Button” will no longer affect them.
In PropertyGrid, the “DataContext” of a custom editor will no longer be overwritten.
In PropertyGrid, the attribute “DefaultValue” will now set in bold the “Value” of the corresponding PropertyItem when equal.
In PropertyGrid, the “Update()” method will no longer throw a null reference exception.
In MaskedTextBox, if the “Mask” property is “>”( or “<“), all the input characters will be converted to upper case(or lower case).
In PropertyGrid, the “DisplayName” attribute of a fake type, used by an ICustomTypeProvider, will now be displayed as the SelectedObject’s type.
In PropertyGrid, the new property “IsVirtualizing” can now be used to virtualize the PropertyItems.
In Zoombox, the property ViewFinder will now have a setter to add your own Zoombox’s ViewFinder.
In ColorPicker, tabs are now used to switch from “standard” to “advanced” view.

Xceed Zip for .NET

  • Improved the ability for the Deflate compression method to use multiple threads to increase compression speed.

Xceed FTP for .NET

  • Two v6.1 builds are now provided. One that targets .NET framework version 4.0 and later, and another that targets .NET framework version 4.5 and later. Currently the only difference is the bug fix listed in the next bullet point. A build targeting .NET framework version 2.0 and later continues to be provided, and that build is now at v4.9.
  • Fixed incorrect dll in package for TLS 1.2 encryption support that requires .NET framework 4.5.

Xceed SFTP for .NET

  • Xceed SFTP for Xamarin is now available, compiled for Xamarin Android and Xamarin iOS. The Xamarin versions are identical in features, function and usage as the .NET version.
  • Added the ability to execute remote commands with the ExecuteCommandSession class.
  • Added data integrity methods hmac-sha2-256, hmac-sha2-512 and hmac-sha2-256-96.

Xceed Real-Time Zip for .NET and Xceed Real-Time Zip for Xamarin

  • Added the ability for the Deflate compression method to use multiple threads to increase compression speed.
  • Fixed a bug where a ZipWriterException was thrown when empty items were located at offsets >4GB in an archive.
  • Fixed a bug where a InvalidZipStructureException was thrown by ZipReader when data in an item to unzip contained the value of a zip format header.

Xceed Grid for WinForms

  • Licensing code change.

July 13, 2016

Xceed DataGrid for WPF

  • Windows 10 theme added.
  • A DataGridInternalException with message “Realized item re-indexed at wrong location” is no longer thrown when removing an item from the data source on a background thread while the item is being edited in the datagrid.
  • The PrintPreview can now be localized.
  • The datagrid’s fixed headers and footers are now properly refreshed when adding columns dynamically.
  • Controls in the FixedHeaders and/or FixedFooters are destroyed and created less often when resetting the items source between calls to DataGridControl.BeginInit() and DataGridControl.EndInit()
  • Added localization flexibility for the ColumnChooserControl and the MergedColumnEditorControl.
  • The description of a column is now displayed in a tooltip on ColumnManagerCell and MergedColumnManagerCell.
  • The IEditableObject and the ISupportInitialize interfaces are now properly supported when inserting a new data item through with the use of the DataGridCollectionView class.
  • DateTime values for FilterCells are now restored according to the user’s culture format when using the persist settings feature.
  • A NullReferenceException is no longer throw when initializing and adding a DataGridControl to a visual tree in code behind.
  • Distinct values appearing in the AutoFilterControl are now correctly refreshed when the DistinctValueContraint is set to FilteredWithAllFilters on the DataGridCollectionViewSource.
  • An InvalidOperationException is no longer thrown when datagrids are created on multiple UI threads.
  • An InvalidOperationException is no longer thrown when changing the visibility of a column while columns are being layouted.
  • An InvalidOperationException is no longer thrown when the focus leaves a container which is edited and becomes filtered out.
  • StatCells located in the scrollable headers or footers of the DataGrid are now correctly updated when one or more values in the corresponding columns are changed.
  • The print preview window no longer closes when an offline printer is selected.
  • Both the print preview and the actual print now give the same results.
  • The MergedColumnEditorControl’s *ToolTip properties are now of type ‘object’.
  • Adding and removing ItemProperties on a DataGridCollectionViewBase can now be done in batch by calling the BeginInit() and EndInit() methods on DataGridControl.
  • Adding and removing Columns can now be done in batch by calling the BeginInit() and EndInit() methods on DataGridControl and/or on DetailConfiguration.
  • A FlexibleCell’s content is now properly restored when the corresponding column is hidden and then shown again.
  • The fixed column splitter’s position is now properly restored when persisted user settings are loaded.
  • The AutoFilterControl no longer takes into account the filters applied to the column currently displaying it, when the DistinctValueContraint is set to FilteredWithAllFilters on the DataGridCollectionViewSource.
  • Navigating with the left or right arrow no longer cycle to the first or last column of a row.
  • A cell editor can now be set for a given cell through the CellEditorSelector property on the ColumnBase class.
  • Improved user experience for keyboard navigation in TreeGridflowView.
  • It is now possible to set different page settings through a PrintTicket when calling the Print or PrintPreview methods.

Xceed Toolkit Plus for WPF

  • Windows 10 theme added for all controls.
  • In Chart, the new property Axis.LabelDecimalCount can now be used to specify the decimal count for axis labels.
  • In Chart, axes will no longer duplicate DateTime labels.
  • In Chart, the column bars will now have a MinWidth of 5 pixels, preventing very thin bars for series with a large range.
  • In ListBox, combining SelectionRanges with predicates along with SelectionRanges without predicates will now correctly update the SelectedItems.Count.
  • In MaterialTabItem, the property CornerRadius is now available to customize the corners the of TabItems.
  • In MaterialTabControl, the BorderThickness property will now affect the header part.
  • In MaterialSlider, using a binding on the Value property will no longer freeze the thumb’s movement.
  • In RadialGauge, a binding can now be set on the Maximum property.
  • In RadialGauge, the GaugePortion.Portion property is now a DP and binding is available.
  • In RadialGauge, the marker’s position are now updated when the Marker.Value is changed.
  • In SlideShow, modifying the properties CurrentIndex or CurrentItem will now play the sliding animation.
  • In SlideShow, the VerticalContentAlignment and HorizontalContentAlignment will now align the content correctly.
  • In StyleableWindow, MaterialToast can now be shown.
  • In ToggleSwith, clicking on the thumb will now also toggle the switch.
  • In TokenizedTextBox, defaulting with the property IsDropDownOpen true will now open the suggestion popup if the Text property can be found in the ItemsSource.
  • In TokenizedTextBox, the performance of filtering is now improved for large number of TokenizedTextBoxItems.
  • In PropertyGrid, the PrimitiveTypeCollectionEditor will now set its Editor.ItemType based on any generic type objects.
  • In PropertyGrid, the new property IsExpandingNonPrimitiveTypes is now available to expand and edit non-primitive type properties. The Collections/List of objects can now be expanded to edit their sub-items.
  • In PropertyGrid, expandable PropertyItems will now be able to specify the sub-PropertyItems that will be displayed.
  • In PropertyGrid, new methods will now be available to set the vertical scrolling position.
  • In PropertyGrid, modifying a PropertyItem many times will not longer create a memory leak since the PropertyItem’s subscription to the PropertyChanged event will now be cleared when unneeded.
  • In PropertyGrid, editing a List or Collection of objects, containing a List or Collection of sub-objects, will no longer cause a crash.
  • In PropertyGrid, the Reset Value command will now be available when the property ShowAdvancedOptions is set to True.
  • In PropertyGrid, new methods are now available to expand/collapse, from code-behind, all the PropertyItems or specific propertyItems.
  • In PropertyGrid, doing a mouse over the SearchTextBox will no longer resize the PropertyGrid’s controls.
  • In PropertyGrid, an expandable propertyItem of type Array will now always be ordered by their index.
  • In AvalonDock, closing a LayoutDocument by clicking the “X” button, when it is not the current one, will no longer cause a crash.
  • In AvalonDock, dragging a maximized floating window will now update its IsMaximized property.
  • In AvalonDock, unhiding an auto-hidden LayoutAnchorable will no longer cause a crash.
  • In AvalonDock, Having the focus on a LayoutDocumentFloatingWindow or LayoutAnchorableFloatingWindow will now set the Highlight brush on its border.
  • In CheckComboBox, the method UpdateText is now virtual. A user can override it to prevent automatic updates of the Text property based on SelectedItems.
  • In ChildWindow, modifying the Content when the WindowStartupLocation is centered will now always pop the ChildWindow in the center of its parent.
  • In CheckComboBox and CheckListBox, the SelectedMemberPath property now supports nested paths.
  • In CheckComboBox, when the DisplayMemberPath property is used for a nested path, the SelectedValue string will now display selected strings based on the DisplayMemberPath.
  • In CheckComboBox, the checkBoxes will no longer become disabled when the Text property is set by the user.
  • In ColorPicker, setting the property DisplayColorAndName to True and using new ColorItems with specific color names as the available colors will no longer display color “hex” names. The specific color names will now be used.
  • In ColorPicker, the new property MaxDropDownWidth is now available to customize the width of the popup.
  • In CollectionControl, when a collection item A has a property of type collection (or list) B, adding an item to B will no longer add a null collection (or list).
  • In DateTimePicker, the new property CalendarWidth is now available to set the size of the Calendar inside the popup.
  • In DateTimePicker, the included TimePicker.Step property will now be bound to DateTimePicker.Step.
  • In DateTimePicker, TimePicker and DateTimeUpDown, the UpdateValueOnEnterKey is now True by default. This will let user completely type the DateTime before the validation occurs. Also, the key inputs “.,/:” will no longer move the focus to another DateTime part.
  • In DateTimePicker, clicking the TimePicker’s TextBox, Spinners or ToggleButton while the TimePicker popup is opened will now close the TimePicker popup.
  • In TimeSpanUpDown, DateTimeUpDown and FilePicker, the Tab navigation is now available.
  • In MaterialSlider, the TickFrequency is now respected when the ShowTicks property is set to False.
  • In MaskedTextBox, removing the Mask will now correctly remove the underlined characters from the Text property.
  • In MaterialToast, the slide in of toasts can now be done from left or right edges.
  • In NumericUpDowns, DateTimeUpDown, DateTimePicker, TimePicker, TimeSpanUpDown, CalculatorUpDown, PrimitiveTypeCollectionControl, ColorPicker, FilePicker and MultiLineTextEditor, calling the Focus method on these controls will now give them the focus.
  • In RangeSlider, the properties TickPlacement and TickFrequency will now be available to display the Ticks.
  • In RangeSlider, the property IsSnapToTickEnabled will now be available to snap the dragging thumb to the next tick mark.
  • In RangeSlider, the new properties AutoToolTipPlacement and AutoToolTipPrecision will now be available to position and set the precision for the ToolTip of a Thumb.
  • In StyleableWindow, ChildWindow and MessageBox, when setting the properties WindowThickness and WindowBorderThickness to 0, there will no longer remain a 1 pixel border.
  • In StyleableWindow, an implicit style for StyleableWindowKey is now defined.
  • In TimeSpanUpDown, the new property ShowSeconds is now available.
  • In TokenizedTextBox, removing a SelectedItem will no longer cause a crash.
  • In ValueRangeTextBox, when the property BeepOnError is true, the beep will now be heard when the value is out of range or of the wrong type.

Xceed Pro Themes for WPF

  • Added Windows 10 theme.
  • Now available a separate product, without licensing entire Xceed Business Suite.

Xceed Zip for .NET

  • Added the ability for the Deflate compression method to use multiple threads to increase compression speed.
  • Added ZipArchive.DefaultPasswordTextEncoding property that accepts a System.Text.Encoding object. It allows establishing compatibility with other zip tools when using AES encryption passwords that contain non-ASCII characters.

Xceed FTP for .NET

  • Added support for TLS 1.2 encryption (Requires .NET framework 4.5)
  • Version 6.0 offers two different builds. One that targets .NET 4.0 and later, and one that targets .NET 4.5 and later. The one for .NET 4.5 and later is required to use the new TLS 1.2 encryption feature. There are no other differences.
  • Version 4.9 is the latest build that targets .NET framework 2.0 and later. It is identical to version 6.0 in capabilities.

Xceed SFTP for .NET

  • Removed usage of Thread.Abort() internally because it caused undefined behavior and unhandled exceptions when disconnecting.

April 5, 2016

Xceed DataGrid for WPF

  • Improved performance when groups are added or removed.
  • Improved the DataGrid’s layout performance when a reset notification is raised by the data source.
  • Reduced the number of calls to the DataGridItemsHost.OnItemsReset method when the source collection raises a reset notification.
  • The Windows 8 theme is now available in TableView and TreeGridflowView.
  • Updating column visibility with the ColumnChooserControl in TreeGridflowView now performs as fast as in other views.
  • The visual cue for dropping a column header onto the GroupByControl control is now correctly positioned.
  • The value of AutoCreateItemProperties on DataGridCollectionView/Source is now correctly taken into account when exporting the DataGrid to Excel or CSV.
  • The ListBox’s scrollbars within the MergedColumnEditor control are now correctly themed.
  • The first MergedColumnManagerCell (corresponding to ColumnBase.IsMainColumn) is now correctly aligned in TreeGridflowView.
  • A DataGridInternalException is no longer thrown when grouping data at the details level.
  • Columns that are not under a MergedColumn when persisting settings are now correctly positioned when restored.
  • The fixed column splitter can now be made not draggable by the setting the new TableView.AllowFixedColumnSplitterDrag property to false.
  • Cells are now properly aligned when printing.
  • An ArgumentException stating that a duplicate key is being added to a dictionary is no longer thrown when updating the data source in a master-detail scenario.
  • PrintPreview now considers margins when printing, making both PrintPreview and Print generate the same number of pages.
  • Changing the columns position through the ColumnChooserControl or the MergedColumnEditorControl now preserves the same number of fixed columns.
  • An InvalidCastException is no longer thrown when exporting DetailGrids containing unbound columns.

Xceed Toolkit Plus for WPF

  • New MultiCalendar control lets you present and allow date selections on multiple calendars positioned in any number of rows and columns.
  • New WatermarkPasswordBox lets users enter a password that gets stored in a SecureString, and displays a watermark if no password is defined.
  • In the TokenizedTextBox, setting the focus will now be supported in code-behind.
  • In the Calendar, when using the Metro theme, the “X” for the Blackout dates will now be visible.
  • In the MaterialTextField, updating the Text property with a binding will now animate the Watermark accordingly.
  • In the Chart, the new property IntersectMinValue will make it possible to move an axis on the other side of the chart.
  • In the Chart, changing the collection of DataPoints will now update the axis so that the layout will fill the chart dimension.
  • In the ListBox, the SelectedItems.Count will now be correctly updated when the ListBox is not visible.
  • In the ListBox, the ItemsCount will now be updated when the ListBox is filtered.
  • In the Chart, using a series.DataPointsSource binding will now refresh the series when the binding source is updated.
  • In the ListBox, setting a Filtercontrol.DataSourceFilterExpression in code-behind will now update (if possible) the SearchTextBox with the provided filter.
  • In the ListBox, clearing the ListBox’s source right after a FilterControl’s filter is set to null (without a layout pass between the 2 actions) will no longer throw a NullRefException.
  • In the ListBox, the scrollbars won’t be displayed anymore when using a filter and adding new items when there is enough space to display all those items.
  • In the TokenizedTextBox, the property IsValid will no longer have a setter.
  • In the StyleableWindow, a new property TitleFontSize can now be used to set.
  • In the NumericUpDown, DateTimeUpDown, DateTimePicker, TimePicker, TimeSpanUpDown and CalulatorUpDown, when the property UpdateValueOnEnterKey is True, the ButtonSpinners, the keyboard arrows and the mouse wheel will no longer update the Value property. The Value property will now only be updated on a “Enter” key press or a lost focus of the UpDown control.
  • In the CollectionControl, objects of type ICollection and IList are now be supported.
  • In the UpDown controls, when the Value property is bound to a property which coerce the received value, the Text property will now be refreshed accordingly.
  • In the TimeSpanUpDown, selecting the minus sign(“-“) with the mouse and incrementing/decrementing the control will no longer reset the Value to null.
  • In the ListBox, doing a ListBoxItem drag while its drop fade out animation isn’t completed will no longer result in a Null reference exception.
  • In the CollectionControl, the objects of type IDictionary are now supported.
  • In the NumericUpDowns, when the property ClipValueToMinMax is True and the property Minimum becomes greater than Value (or the property Maximum becomes lower than Value), the Value property will now be re-evaluated to respect the Minimum – Maximum range.
  • In the SplitButton, the BorderThickness will now be modifiable.
  • In the PropertyGrid, when trying to edit a List of T, the CollectionControlDialog will no longer crash if the T class doesn’t include a default Constructor.
  • In the PropertyGrid, registering to the IsPropertyBrowsable event and not doing anything in the callback, will no longer display the properties with BrowsableAttribute(false).
  • In the CollectionControl, the ListBoxItem will now be updated when a property value is modified in the PropertyGrid.
  • In the PropertyGrid, the DisplayAttribute will now be supported for PropertyItems.
  • In the Wizard, the Finish event will now be a CancelRoutedEventHandler.
  • In NumericUpDowns, the FormatString property will now accept strings like the BindingBase.StringFormat. Ex : “{}{0:N2} ms”.
  • In the CheckListBox, the selectedItems will not be cleared anymore if the ItemSource’s filter is removed.
  • The PropertyGrid will now support the Range attribute to set the Maximum/Minimum properties on NumericUpDown/DateTimeUpDown and TimeSpanUpDown editors.
  • In AvalonDock, DockingManager.LogicalChildren will now be correctly updated when a LayoutDocument/LayoutAnchorable is removed by modifying the DockingManager.DocumentsSource/AnchorablesSource properties or by closing a LayoutDocument/LayoutAnchorable.
  • In the PropertyGrid, the attribute TypeConverter (of type ExpandableObjectConverter) will now be supported to expand a PropertyItem.
  • In the PropertyGrid, TypeConverter.GetStandardValues() will now be supported to display options in a ComboBox editor.
  • In the NumericUpDowns, DatetimePicker, SplitButton, RichTextBoxFormatBar, MultiLineTextEditor, DropDownButton, ColorPicker, CollectionControl, CalculatorUpDown, and TimePicker, the arrows will not look pixelated anymore in high DPI.
  • In the PropertyGrid, the setter of an expandable propertyItem will now be called when one of its sub-propertyItem is modified.
  • In the DateTime controls, using a Custom format with no dateTime separators will now correctly display the selected dateTime.
  • In the DropDownButton and the SplitButton, the new property DropDownPosition will now be available to set the position of the popup relative to the control.
  • In the RangeSlider, setting a LowerValue greater than HigherValue will no longer be possible. Setting a HigherValue smaller than LowerValue is also no longer possible.
  • In the TimeSpanUpDown, only numeric characters will now be accepted.
  • In the WatermarkComboBox, the toggleButton will now use the DisplayMemberPath when specified.
  • In the Modal ChildWindow and the MessageBox, Tab navigation will now remain inside the control. Also, the Menu shortcut keys will no longer be available.
  • In the ColorPicker, pressing the “Esc” Key will now reset the SelectedColor to the last selected color.

Xceed Zip for .NET

  • Added experimental feature ZipArchive.UseUnsafeCompressionMethodVersions. Allows compression method to use pointers for increased speed. This lays the groundwork to allow the next version to gain further speed increases and allow the use of multiple processor cores. .NET 4.X only.
  • Fixed a regression bug where a FileSystemInternalException was thrown when ExtraHeaders.ExtendedTimeStamp is enabled.

Xceed Real-Time Zip for .NET

  • Added experimental feature ZipArchive.UseUnsafeCompressionMethodVersions. Allows compression method to use pointers for increased speed. This lays the groundwork to allow the next version to gain further speed increases and allow the use of multiple processor cores. .NET 4.X only.

Xceed Real-Time Zip for Xamarin

  • No changes. Version number sync with the other Xceed .NET libraries.

Xceed SFTP for .NET

  • SFtp files are now seekable. This allows better interoperability with Zip.NET. For example, selected items in a remote zip file accessed via a SFtpFile can be extracted to a local folder without downloading the entire archive.
  • Added SSHConnectionProtocol.CloseChannelTimeout property. Use is for compatibility with broken servers.
  • Fixed a bug where invalid SFtp data was sent during SSH key re-exchange.
  • Added SSHClient.ServerIdentificationSoftwareVersion, ServerIdentificationComments, ServerIdentificationSoftwareVersionAndComments properties. Allows the connected server to be precisely identified and specific behaviors to be activated in each case.

Xceed FTP for .NET

  • Inherits Xceed FileSystem and Zip related changes from updated Xceed Zip for .NET.

February 9, 2016

Xceed DataGrid for WPF

  • Merged column headers can now be managed at runtime by end users through the new MergedColumnEditor control.
  • Improved performance when new groups are added.
  • Improved performance when removing groups.
  • Improved performance while scrolling vertically.
  • Improved refresh rate when the grid is grouped and groups are being added or removed as the result of live data updating.
  • Improved scrolling performance when the TableView.ColumnVirtualizationMode property is set to Virtualizing mode.
  • It is now possible to set a detail configuration through the new DetailConfigurationSelector property on the DataGridControl class.
  • Editing a row other than a DataRow or InsertionRow no longer results in a deadlock in multithreaded data source update scenarios.
  • Merged column headers can now be managed at runtime by end users through the new MergedColumnEditor control.
  • The Column.Title property can now be persisted through the persist settings functionality.
  • An ArgumentException is no longer thrown when trying to scroll with the keyboard while fixed cells fill the entire DataGrid’s idth.
  • Improvements for support in Visual Studio 2015.
  • Collapsing a detail grid while its parent row is sticky (in TableflowView) now keeps the parent row in view.
  • The MergedColumnManagerCell style has been updated in the Metro and Windows Media Player 11 themes.
  • The FilterCell’s editor is now correctly generated from the FilterCell.FilterEditorTemplate property.
  • Exporting a custom statistical function now works correctly when it is exported as value instead of a formula.
  • Cells provided in code behind through Row.Cells are now correctly added to the cell collection.
  • A “DataGridInternalException” exception is no longer thrown when the DataGrid’s configuration is changed (change in grouping for instance) while the DataGird is in a BeginInit/EndInit block.
  • The HtmlClipboardExporter no longer replaces regular spaces by non-breakable spaces (nbsp).
  • A “Flag is already set” InvalidOperationException is no longer thrown when items are added in a master-detail scenario.
  • The ICloneable interface is no longer supported on the DataGridItemPropertyBase class.
  • Visual improvements to the Metro theme.
  • The “Select All” and the “Clear All” buttons in the AutoFilterControl are no longer focusable.
  • An ArgumentOutOfRangeException is no longer thrown when columns are reordered in TreeGridflowView.
  • A DataGridException is no longer thrown when the SelectionChanging event is canceled.
  • A NullReferenceException is no longer thrown by the DataGridCollectionView class when grouping and sorting are set on a non-existing data item property.
  • An ArgumentOutOfRangeException is no longer thrown when restoring persist settings on none existing elements (like MergedHeaders).
  • An item is no longer duplicated when it is edited in the ColumnChooserControl.

Xceed Toolkit Plus for WPF

  • Setting the LicenseKey of a Toolkit Metro Theme in xaml and using a Toolkit control in MainWindow.Resources will no longer result in an exception.
  • In the Zoombox, when the property IsUsingScrollBars is true and one of its srollbars is moved, the event Scroll will now be raised.
  • In the TokenizedTextBox, the scrollBar’s thumb of the suggestion popup will now have a standard height.
  • In the PropertyGrid, when using multi-Selected Objects, the selected objects type and name will now be displayed at top of the PropertyGrid.
  • The CollectionControlDialog will now be a StyleableWindow and will be themed when theming is defined in App.xaml.
  • In the StyleableWindow, when maximized, the header buttons will no longer be cropped.
  • In the ListBox, the Drag and Drop will now work after showing + adding a panel over the Drop area.
  • In the ListBox, creating a SelectionRange without a SortDescription’s list and using FromItem/ToItem is now possible. This will result in a selection based on the ListBox dataSource sort, not the ListBox visual sort.
  • In the SlideShow, using a binding on ItemsSource will now correctly set the CurrentItem.
  • In the TokenizedTextBox, the new event InvalidValueEntered will now be raised when resolving an invalid value. The InvalidValueEventArgs will give access to the invalid value through a Text property.
  • The TokenizedTextBox size will now expand normally if there is enough space when adding many items.
  • In the ListBox, the addition of a range of items will now be supported resulting in less notifications when many items need to be added.
  • In the PropertyGrid, selectedObject implementing ICustomTypeDescriptor will now load correctly with a call to customTypeDescriptor.GetPropertyOwner().
  • In AvalonDock, LayoutAutoHideWindowControl won’t throw an invalid handle exception anymore upon disconnecting-reconnecting from a Virtual Machine.
  • In Toolkit Metro controls, setting a control’s height will not affect the data displayed in that control.
  • In AvalonDock, deserialization of custom panes is now supported.
  • In AvalonDock, the context menu of a LayoutAnchorableFloatingWindowControl will now always show the AnchorableContextMenu.
  • In the ColorPicker, 2 new events will now be raised when its popup is opened or closed.
  • In the DateTimePicker, the new property CalendarDisplayMode will now be available to modify the display of the Calendar.
  • In DateTimePicker, DateTimeUpDown, TimePicker, CalculatorUpDown, FilePicker and TimespanUpDown, the IsTabStop property is now supported.
  • In DateTimePicker, DateTimeUpDown and TimePicker, the selected date part will now remain selected after the Value property is changed via binding.
  • In the CollectionControl, a struct type can now be added as a new item.
  • In AvalonDock, closing the last “Active” LayoutDocument will not set a new “Active” item anymore. This will prevent the AutoHide window popup to be shown as the new default “Active” item.
  • In the Calculator and CalculatorUpDown, pressing the Memory buttons while an “Error” is displayed in the calculator will not throw a Format exception anymore.
  • In Calculator and CalculatorUpDown, the MR button can now be used into equations.
  • In the Magnifier, zooming with the mouseWheel will now be supported.
  • In the ListBox, adding Value type items is now supported.
  • In the ListBox, the Equals method override will now be supported for non-primitive type ListBoxItems.
  • In the Controls using a ButtonSpinner, the “Enter” key will now be disabled when an arrow of the ButtonSpinner has the focus.
  • In the ListBox, doing a foreach loop on the ListBox.Items property will now be supported.
  • In the DateTimePicker, only one ValueChanged event will now be raised when selecting a new date.
  • In the SlideShow, modifying the collection of Items will now correctly set the Previous/Current/Next SlideShow Items.
  • In AvalonDock, Deserializing a NodeType of type XmlNodeType.Whitespace will no longer throw an exception.
  • In the CollectionControlDialog, the “Cancel” button will now roll back the changes done in its CollectionControl’s PropertyGrid.
  • In the PropertyGrid, the interface ICustomTypeProvider is now supported for the SelectedObject.
  • In the PropertyGrid, the Resources properties will now display the correct icon when ShowAdvancedOptions is True.
  • In DateTimePicker, CalculatorUpDown, ColorPicker, DropDownButton, MultiLineTextEditor and TimePicker, the Tooltip will now be used only in the collapsed part of the control; the popup will no longer display it.
  • In the PropertyGrid, the editor for properties of type FontFamily will now be a comboBox containing sorted Font names.
  • In the DateTimeUpDown, TimeSpanUpDown, TimePicker and DateTimePicker, the new property CurrentDateTimePart is now available to set the date time part that can be changed with the Up/Down buttons or the Up/Down keys.
  • In the DateTimeUpDown, TimeSpanUpDown, DateTimePicker and TimePicker, the new property “Step” can now be set to customize the increment/decrement value of DateTime controls.
  • In the PropertyGrid, the new event IsPropertyBrowsable will now be raised at the creation of each PropertyItem in order to use the callback and individually set the visibility of each propertyItem in the PropertyGrid.
  • In the NumericUpDowns, DateTimeUpDown, DateTimePicker, TimePicker and TimeSpanUpDown, the new event Spinned will now be raised when an Increment/Decrement action is initiated.
  • The Metro theme Toolkit controls will now share the same height as the core metro theme controls.

Xceed Zip for .NET

  • ZippedFile and ZippedFolder constructors now only look for invalid characters in the name if the item doesn’t exist in the archive. An item already in the archive is always accepted.
  • Setting the name of a ZippedFile and ZippedFolder no longer uses the System.IO.Path namespace as it checks for invalid characters for Windows. It now uses Xceed.Utils.Paths.Path.GetFileNameSimple(), which is universal.
  • Fixed issues with LZMA that caused fatal exceptions when run on .NET framework 4.5.1 and later.
  • Fixed a bug where a ZipIOException was thrown when unzipping empty files that use WinZipAES and Stream.Read() is never called (directly or indirectly) on the file.
  • Fixed a bug where GZipArchive did not always validate the data’s checksum when decompressing.

Xceed Real-Time Zip for .NET, for Xamarin

  • Fixed issues with LZMA that caused fatal exceptions when run on .NET framework 4.5.1 and later.
  • Fixed a bug where a ZipIOException was thrown when unzipping empty files that use WinZipAES and Stream.Read() is never called (directly or indirectly) on the file.

Xceed SFTP for .NET

  • SFtp files are now seekable. This allows better interoperability with Zip.NET. For example, selected items in a remote zip file accessed via a SFtpFile can be extracted to a local folder without downloading the entire archive.
  • Bug fixes to various FileSystem-related zip and archive capabilities.

Xceed FTP for .NET

  • Inherits FileSystem and Zip related changes from updated Xceed Zip for .NET.