October 5th, 2022 Release

Introducing support for .NET 5 across multiple products, new themes in DataGrid for WPF, advanced Workbook features like partial cell formatting and protection, and multi-threading capabilities in ZIP for .NET. These improvements ensure enhanced performance, usability, and compatibility for developers.

Xceed Workbooks for .NET 1.3

  • The .NET Standard version of this product is no longer supported. The .NET5 version should be used instead.
  • Workbooks now supports notes and comments.
  • Workbooks now contains a Workbook protection system that restricts modifications.
  • The name of a Workbook is now an available property.
  • It is now possible to partially format the text inside of a Cell.
  • A new class, called CellHelper, now offers conversion methods like ConvertNumberToLetter() and ConvertLetterToNumber().
  • New methods have been added in the ColorHelper class to help with the manipulation of the indexed color palette.
  • In Row, Column, Worksheet, Workbook and Ranges, a new method, called Clear, can now be used to clear some parts of the targeted element.
  • In Worksheet, Workbook, Column, Row and all types of Ranges (CellRange, RowRange, ColumnRange, WorksheetRange), a new method, called ReplaceContent, can now be used to replace the content of a Cell with a new value.
  • Macros that do not use definedNames are now preserved when loading a document.
  • When raised, exceptions that are related to one of the main elements of a Worksheet (Cell, Row, Column, etc) will now provide as much details as possible on the source of the problem.
  • In Alignment, the RotationAngle property can now be used to rotate the content of a Worksheet.
  • In Annotation, deleting a Row or Column which contains Notes or Comments now removes said Notes or Comments during the deletion.
  • In AnnotationCollection, new methods are now available to remove specific Notes or Comments from the collection.
  • In Cell, a new property, called DataType, can now be used to retrieve the type of values in a Cell.
  • In ColorHelper, the ToColor(Workbook, ThemeColor) method now returns the ThemeColor’s color by getting the value of its Tint property.
  • In Column, a new property, called IdName, can now return the index of a Column as a letter.
  • In Column, the ColumnCellCollection now uses a cache to retrieve its Cells faster.
  • In Column, a Column that follows multiple Columns with the same settings now hides correctly when its IsHidden property is set to true.
  • In Column, consecutive Columns who have the same styles are no longer duplicated in the resulting inner .xml file.
  • In Column and ColumnRange, a new property, called IsHidden, can now be used to decide if Columns are hidden or not.
  • In Column and Row, Autofit now works properly with FormattedText.
  • In Font, modifying the font in a Cell, Row or Column when the document already contains specific default Font values no longer resets the font’s name to Calibri and its size to 11.
  • In FormattedText, the constructor receiving a Font now uses a copy of the Font, thus preventing any future modification of that Font from having an impact on the FormattedText.
  • In Hyperlink, a new constructor can now be used in order to create a hyperlink that will be used with the ReplaceContent method.
  • In Hyperlink, the TextToDisplay property no longer overwrites the value of the Cell associated with the Hyperlink.
  • In HyperlinkCollection, Remove methods are now available to remove specific Hyperlinks.
  • In MergedCellCollection, a new method, called Remove, is now available to remove a CellRange from the merged Cells.
  • In Note, a Note can now be modified when its Protection property is set and its associated Worksheet has a protection.
  • In Note, a Note will now correctly resize to fit the size of its text by taking into account the “∕n” when the IsAutoFit property is set to .
  • In Picture, the Picture.DrawingClientData.LocksWithSheet property is now called Picture.DrawingClientData.Locked.
  • In Picture, a Picture can now be modified when the Picture.DrawingClientData.Locked property is set to false and the associated Worksheet has a protection.
  • In Picture, an invalid Column or Row Id exception is no longer raised when the top left and bottom right corners of a Picture are both located in the same Column or Row.
  • In Picture and Table, a document no longer gets corrupted when both a Picture and a formatted Table are added in a Worksheet.
  • In PictureCollection, new methods are now available to remove specific Pictures.
  • In Protection, loading a protected document containing Tables no longer raises a validation exception.
  • In Row, using the AutoFit method along with text wrapping now calculates the number of text lines properly.
  • In Row, the height of the highest Cell will now be returned based on either the font or the text wrapping settings when the Height property is not set. In both cases, the minimum return value will be the Row’s default Height.
  • In Row and RowRange, a new property, called IsHidden, can now be used to decide if Rows are hidden or not.
  • In SheetView, new properties are now available to set views and determine their Zoom level.
  • In SheetView, two new properties, called FrozenColumns and FrozenRows, are now available to freeze Columns or Rows in a Worksheet.
  • In SheetView, two new properties, called SplitColumns and SplitRows, are now available to add a vertical or horizontal split in the SheetView.
  • In Style, a new property, called Protection, can now be used to protect or unprotect specific Cells in a protected Worksheet.
  • In Style, a new property, called BuiltinType, now allows the use of Excel’s built-in styles inside of Workbooks.
  • In Style, using a style on Columns or Rows now merges that style with the one that is already set on their Cells.
  • In Style, using text wrapping on Columns in which data is imported now correctly styles the Column’s Cells.
  • In Style, indexed colors can now be read from a document, thus preventing the corruption of said document when it is saved.
  • In Table, a new property, called StyleName, can now be used to apply a custom style on a Table.
  • In Table, modifying one Table when a document contains multiple Tables no longer results in a corrupted document caused by two Tables having the same Id.
  • In Table, adding a new Table which intersects with an existing Table now raises an InvalidOperationException.
  • In TableCollection, new methods are now available to remove a Table from a Worksheet.
  • In TableCollection, the Remove method that uses an index to identify the Worksheet that will be removed is now named RemoveAt.
  • In Workbook, loading a document that contains FormattedText will now read all of the blocks of text in said document.
  • In Workbook, loading and saving a document with definedNamesno longer results in a corrupted document.
  • In WorkbookThemeColor, the ThemeColor’s types for foreground and background are no longer inverted. /li>
  • In Worksheet, new methods are now available to protect or unprotect a Worksheet. This protection can be implemented with or without a password.
  • In Worksheet, a new property, called Visibility, can now be used to determine the way in which the Worksheet will be displayed.
  • In Worksheet, the ReplaceContent method is now optimized to replace content faster.
  • In Worksheet, conditional formatting is now preserved in the final document.
  • In Worksheet, inserting Columns or Rows when Cells are styled no longer throws an exception.
  • In WorksheetCollection, WorksheetRanges can now be retrieved in order to act on multiple Worksheets at the same time. This can be useful to do things like modifying the visibility of the selected Worksheets, changing the color of their tabs and moving or removing multiple Worksheets at the same time.
  • In WorksheetCollection, the Remove method that uses an index to identify the Worksheet that will be removed is now named RemoveAt.
  • In WorksheetCollection, calling a copy of a Worksheet that contains Tables now copies the Table’s custom Styles and no longer results in a corrupted document.

Xceed Words for .NET 2.4

  • The .NET Standard version of this product is no longer supported. The .NET5 version should be used instead.
  • The size of the CheckBoxes will now stay the same if they are created in Xceed’s Words and then edited with Microsoft Word.
  • In Container, Document and Paragraph, the old ReplaceText and ReplaceTextWithObject methods are now obsolete. Two new methods, with the same name but with only one parameter called replaceTextOptions, were created as a replacement.
  • In Document, calling a ReplaceText() method multiple times on a big Document is now faster.
  • In Document, using the InsertContent() method for inserting HTML content now works with non-English characters.
  • In Document, loading a .docm document and using the Save() method will now save the document as a .docm document.
  • In Document, looping through Paragraphs and retrieving the next Paragraph when the current one is empty does no longer create an infinite loop.
  • In Document, inserting or removing Paragraphs, Tables or Lists no longer results in an ArgumentOutOfRangeException.
  • In Paragraph, two new properties, called StartIndex and EndIndex, are now available to find out where a Paragraph is located in the Document.
  • In Paragraph, the InsertPageCount and AppendPageCount methods now include a new parameter, called useSectionPageCount, that allows to count the pages in the Section or in the Document.
  • In Paragraph, the correct Paragraphs are now returned when the NextParagraph and PreviousParagraph properties are used in context of Headers or Footers.
  • In Paragraph, acting on a paragraph no longer removes the values in the NextParagraph and PreviousParagraph properties.
  • In Paragraph, calling the Spacing method or using a Formatting object that has a value in its Spacing property no longer raises an exception saying that the value must be between -1585 and 1585 when it actually is.
  • In Paragraph, setting the value of a SpacingAfter or SpacingBefore to 0 when the value is already 0 no longer results in a NullRefException.
  • In PDF Conversion, adjustments have been made to improve thread-safety.
  • In PDF Conversion, converting a Document that contains many Pictures, Shapes or Tables is now faster.
  • In PDF Conversion, Tables using a WrapStyle will now be converted to PDF.
  • In PDF Conversion, Pictures located inside of a Header or Footer are now displayed in the final PDF document.
  • In PDF Conversion, the resulting PDF now respects more closely the line spacing settings found in the original Document when specific line spacing values were used for Paragraphs.
  • In PDF Conversion, texts located inside of Tables are no longer cut during the conversion process.
  • In PDF Conversion, a Paragraph which contains Pictures but no text will no longer have an empty line after the Pictures.
  • In PDF Conversion, the height of Cells that are inside a Table no longer takes too much space when said Cells have padding.
  • In PDF Conversion, the keepLines tag now reads its value attribute to determine if the Paragraph’s lines must be kept together. Because of this, the final PDF documents are no longer missing pages.
  • In PDF Conversion, the content of a Table that has a single Row is no longer repeated on every page when that Table is split over multiple pages.
  • In PDF Conversion, the text displayed on the last pages is no longer cut when a Table is split on more than two pages.
  • In PDF Conversion, unnecessary spacing is no longer added during the conversion process when a Table has a Cell that contains a single Paragraph with a LineSpacingAfter value but no text.
  • In PDF Conversion, replacing text and converting a Document to PDF when Paragraphs containing Images are split on two pages no longer repeats the Paragraphs in the resulting PDF.
  • In PDF Conversion, a StackOverflow exception is no longer thrown when a big image is converted.
  • In PDF Conversion, Tables with a null TableLook no longer throw a NullRefException when they are converted to PDF.
  • In PDF Conversion, OutOfRange exceptions are no longer thrown when the Document that is converted contains no Section.
  • In Table, Pictures are now displayed when a Table is inserted inside of a Header or Footer.
  • In Table, inserting or removing Rows or Columns now updates the paragraph count in the Document.
  • In Table, retrieving Pictures from a Table when the Table is located inside of a Header or Footer no longer raises an exception.

Xceed Toolkit Plus for WPF 4.5

  • In AvalonDock, the DockingManager now includes four new events, called PreviewFloat, Floated, PreviewDock and Docked, which track the floating and docking process of a LayoutAnchorable or LayoutDocument.
  • In AvalonDock, hovering over the application’s taskbar icon will now show all of the DockingManager’s floating windows along with the application’s main window.
  • In AvalonDock, floating LayoutAnchorables that are docked as tabbed documents now dock back properly into the DockingManager when it has no children.
  • In AvalonDock, when floating, maximizing, and minimizing Layout windows, the FloatingHeight and FloatingWidth properties now return the correct values.
  • In AvalonDock, selecting a LayoutContent that has its Content property set to null will now properly select that LayoutContent.
  • In AvalonDock, a LayoutAnchorable no longer docks to itself when docking a FloatingAnchorable that was floated from a LayoutDocumentPane where it was a unique child.
  • In AvalonDock, when a Layout is floated and closed, its IsFloating property is now set to false.
  • In AvalonDock, all of the parent’s InputBindings are now used by the floating windows.
  • In AvalonDock, reloading an application that contains LayoutDocumentFloatingWindows now keeps the InputBindings active in the floating windows.
  • In AvalonDock, resetting the layout with a default file no longer throws a NullRefException.
  • In AvalonDock, an exception is no longer thrown when undocking tabbed LayoutItems that are not contained in a DocumentPaneTabPanel.
  • In CollectionControl, cancelling no longer removes child items from the Collection.
  • In DateTimePicker, an exception is no longer thrown when the calendar popup is opened.
  • In DockingManager, a new property, called AllowMovingFloatingWindowWithKeyboard, is now available to determine if a floating window control can be moved with the keyboard’s arrow keys or not.
  • The DropDownButton no longer closes when the child ContextMenu is opened.
  • In ExtendedTabControl, two new buttons, called AddButton and RemoveButton, have been added in order to add or remove TabItems. Two new properties have also been added to get or set the buttons’ visibility.
  • In ExtendedTabControl, new properties have been added to get or set the TabItems’ minimum or maximum width and height.
  • In ExtendedTabControl, it is now possible to drag and drop between TabItems.
  • In LayoutFloatingWindowControl, LayoutAnchorableFloatingWindowControl and LayoutDocumentFloatingWindowControl, a new property, called ResizeBorderThickness, can now be used to get or set the width of the border that is used to resize a floating window.
  • In PropertyGrid, a new editor, the CheckComboBoxEditor, is now available for Enum properties that use “Flags”.
  • In PropertyGrid, using the SelectedObjectsOverride property with many items now loads the PropertyItems faster and then fills up their values.
  • In PropertyGrid, using the mouse wheel over the vertical splitter that is located between the PropertyNames and PropertyValues now allows to scroll vertically.
  • In PropertyGrid, using the SelectedObjectsOverride property along with the ShowTitle property set to false no longer displays the title before hiding it and creating a flicker.
  • When using the Office 2007 themes, WatermarkComboBox now displays the selected item if the IsEditable property is set to true.

Xceed DataGrid for WPF 7.1

  • DataGrid for WPF now supports the .NET 5 Framework
  • DataGrid for WPF now includes two new themes: Material Design and Fluent Design.
  • In DataGridControl, a new property, called AllowUIAutomation, now allows to enable or disable UI Automation support.
  • In ColumnFilterControl, the column filter popup may now be closed with the Esc key.
  • The DataGridControl’s SelectedItems collection has been improved to offer better performance when verifying the presence of an item via the Contains method.
  • The columns will now be reordered properly when the ScrollViewer’s panning mode is set to both and touch is used to interact with the Grid.
  • Scrolling in the Grid after a search no longer throws a NullRefException.
  • An exception is no longer thrown when a data item property is changed in a UI Automation context.

Xceed Zip for .NET 7.1

  • Multi-threading is now supported when zipping into split .zip files
  • It is now possible to force the zipping process to write the .zip file in a streaming way if the file is not seekable.
  • It is now possible to create self-extracting .zip files when using the .NET standard version of the component on Windows.
  • A new utility class, called BZip2File, has been added to easily create and manipulate BZip2 files using the Xceed.FileSystem interface.
  • The FileSystemEvents.AddingItemToProcess event will now remember changes made to the userData parameter.
  • In DiskFile and DiskFolder, the Universal Time Coordinated (UTC) date/time is now supported.
  • Warnings will no longer appear when compiling under .NET5 & using NuGet packages later on.
  • A System.NotSupportedException will no longer be thrown when creating a new ZipWriterMultiThreadManager object on machines that have more than 64 logical processors.
  • Reading from a GZipCompressedStream object will no longer throw a NullRefException.
  • In ZipArchive, the DefaultEncryptionPassword and DefaultDecryptionPassword properties no longer throw a NullRefException when the null value is used because the value is now interpreted as an empty string.

Xceed Zip for ActiveX 6.5

  • Updating a .zip file that has compatible encryption and the File Times extra header no longer corrupts the items.