5 octobre 2022 Sortie

Introduction de la prise en charge de .NET 5 dans plusieurs produits, de nouveaux thèmes dans DataGrid for WPF, de fonctionnalités avancées pour les classeurs telles que le formatage et la protection partiels des cellules, et de capacités multithreading dans ZIP for .NET. Ces améliorations garantissent des performances, une convivialité et une compatibilité accrues pour les développeurs.

Xceed Workbooks pour .NET 1.3

  • La version .NET Standard de ce produit n’est plus prise en charge. La version .NET5 doit être utilisée à la place.
  • Workbooks prend désormais en charge les notes et les commentaires.
  • Workbooks contient désormais un système de protection qui restreint les modifications.
  • Le nom d’un classeur est désormais une propriété disponible.
  • Il est désormais possible de formater partiellement le texte à l’intérieur d’une cellule.
  • Une nouvelle classe, appelée CellHelper, propose désormais des méthodes de conversion telles que ConvertNumberToLetter() et ConvertLetterToNumber().
  • De nouvelles méthodes ont été ajoutées à la classe ColorHelper pour faciliter la manipulation de la palette de couleurs indexées.
  • Dans Row, Column, Worksheet, Workbook et Ranges, une nouvelle méthode appelée Clear peut désormais être utilisée pour effacer certaines parties de l’élément ciblé.
  • Dans Worksheet, Workbook, Column, Row et tous les types de plages (CellRange, RowRange, ColumnRange, WorksheetRange), une nouvelle méthode appelée ReplaceContent peut désormais être utilisée pour remplacer le contenu d’une cellule par une nouvelle valeur.
  • Les macros qui n’utilisent pas de definedNames sont désormais conservées lors du chargement d’un document.
  • Lorsqu’elles sont déclenchées, les exceptions liées à l’un des éléments principaux d’une feuille de calcul (cellule, ligne, colonne, etc.) fourniront désormais autant de détails que possible sur l’origine du problème.
  • Dans Alignment, la propriété RotationAngle peut désormais être utilisée pour faire pivoter le contenu d’une feuille de calcul.
  • Dans Annotation, la suppression d’une ligne ou d’une colonne contenant des notes ou des commentaires supprime désormais ces notes ou commentaires lors de la suppression.
  • Dans AnnotationCollection, de nouvelles méthodes sont désormais disponibles pour supprimer des notes ou des commentaires spécifiques de la collection.
  • Dans Cell, une nouvelle propriété appelée DataType peut désormais être utilisée pour récupérer le type de valeur contenue dans une cellule.
  • Dans ColorHelper, la méthode ToColor(Workbook, ThemeColor) retourne désormais la couleur de ThemeColor en récupérant la valeur de sa propriété Tint.
  • Dans Column, une nouvelle propriété appelée IdName peut désormais retourner l’index d’une colonne sous forme de lettre.
  • Dans Column, la ColumnCellCollection utilise désormais un cache pour récupérer ses cellules plus rapidement.
  • Dans Column, une colonne qui suit plusieurs colonnes avec les mêmes paramètres se cache désormais correctement lorsque sa propriété IsHidden est définie a vrai.
  • Dans Column, les colonnes consécutives ayant les mêmes styles ne sont plus dupliquées dans le fichier interne .xml généré.
  • Dans Column et ColumnRange, une nouvelle propriété appelée IsHidden peut désormais être utilisée pour déterminer si les colonnes sont masquées ou non.
  • Dans Column et Row, la fonction Autofit fonctionne désormais correctement avec FormattedText.
  • Dans Font, modifier la police dans une cellule, une ligne ou une colonne lorsque le document contient déjà des valeurs par défaut spécifiques pour la police ne réinitialise plus le nom de la police à Calibri ni sa taille à 11.
  • Dans FormattedText, le constructeur qui reçoit une Font utilise désormais une copie de la police, empêchant ainsi toute modification future de cette police d’impacter le FormattedText.
  • Dans Hyperlink, un nouveau constructeur peut désormais être utilisé pour créer un lien hypertexte destiné à être utilisé avec la méthode ReplaceContent.
  • Dans Hyperlink, la propriété TextToDisplay ne remplace plus la valeur de la cellule associée au lien hypertexte.
  • Dans HyperlinkCollection, des méthodes Remove sont désormais disponibles pour supprimer des liens hypertexte spécifiques.
  • Dans MergedCellCollection, une nouvelle méthode appelée Remove est désormais disponible pour supprimer une CellRange des cellules fusionnées.
  • Dans Note, une Note peut désormais être modifiée lorsque sa propriété Protection est définie et que la feuille de calcul associée est protégée.
  • Dans Note, une Note sera désormais redimensionnée correctement pour s'adapter à la taille de son texte en prenant en compte les “∕n” lorsque la propriété IsAutoFit est activée.
  • Dans Picture, la propriété Picture.DrawingClientData.LocksWithSheet s'appelle désormais Picture.DrawingClientData.Locked.
  • Dans Picture, une Picture peut désormais être modifiée lorsque la propriété Picture.DrawingClientData.Locked est définie à faux et la feuille de calcul associée est protégée.
  • Dans Picture, une exception de type Column ou Row Id invalide n’est plus levée lorsque les coins supérieur gauche et inférieur droit d’une Picture se trouvent tous deux dans la même colonne ou la même ligne.
  • Dans Picture et Table, un document n’est plus corrompu lorsqu’une Picture et une Table formatée sont ajoutées dans une même feuille de calcul.
  • Dans PictureCollection, de nouvelles méthodes sont désormais disponibles pour supprimer des Pictures spécifiques.
  • Dans Protection, le chargement d’un document protégé contenant des Tables ne génère plus d’exception de validation.
  • Dans Row, l’utilisation de la méthode AutoFit avec le retour à la ligne automatique calcule désormais correctement le nombre de lignes de texte.
  • Dans Row, la hauteur de la cellule la plus haute sera désormais renvoyée en fonction de la police ou des paramètres de retour à la ligne lorsque la propriété Height n’est pas définie. Dans les deux cas, la valeur minimale renvoyée sera la hauteur par défaut de la Row.
  • Dans Row et RowRange, une nouvelle propriété appelée IsHidden peut désormais être utilisée pour décider si les lignes sont masquées ou non.
  • Dans SheetView, de nouvelles propriétés sont désormais disponibles pour définir les vues et déterminer leur niveau de zoom.
  • Dans SheetView, deux nouvelles propriétés appelées FrozenColumns et FrozenRows sont désormais disponibles pour figer les colonnes ou les lignes dans une feuille de calcul.
  • Dans SheetView, deux nouvelles propriétés appelées SplitColumns et SplitRows sont désormais disponibles pour ajouter une séparation verticale ou horizontale dans la vue de la feuille.
  • Dans Style, une nouvelle propriété appelée Protection peut désormais être utilisée pour protéger ou déprotéger des cellules spécifiques dans une feuille protégée.
  • Dans Style, une nouvelle propriété appelée BuiltinType permet désormais d’utiliser les styles intégrés d’Excel dans les classeurs.
  • Dans Style, l’application d’un style sur des colonnes ou des lignes fusionne désormais ce style avec celui déjà appliqué aux cellules concernées.
  • Dans Style, l’utilisation du retour à la ligne automatique sur des colonnes contenant des données importées applique désormais correctement le style aux cellules de la colonne.
  • Dans Style, les couleurs indexées peuvent désormais être lues depuis un document, ce qui empêche la corruption de ce document lors de son enregistrement.
  • Dans Table, une nouvelle propriété appelée StyleName peut désormais être utilisée pour appliquer un style personnalisé à une table.
  • Dans Table, la modification d’une table lorsque le document contient plusieurs tables ne provoque plus de corruption du document due à deux tables ayant le même identifiant.
  • Dans Table, l’ajout d’une nouvelle table qui croise une table existante déclenche désormais une InvalidOperationException.
  • Dans TableCollection, de nouvelles méthodes sont désormais disponibles pour supprimer une table d’une feuille de calcul.
  • Dans TableCollection, la méthode Remove utilisant un index pour identifier la table à supprimer est désormais appelée RemoveAt.
  • Dans Workbook, le chargement d’un document contenant du texte formaté (FormattedText) lit désormais tous les blocs de texte du document.
  • Dans Workbook, le chargement et l’enregistrement d’un document avec des noms définis (definedNames)ne provoquent plus la corruption du document.
  • Dans WorkbookThemeColor, les types de ThemeColor pour le premier plan et l’arrière-plan ne sont plus inversés.
  • Dans Worksheet, de nouvelles méthodes sont désormais disponibles pour protéger ou déprotéger une feuille de calcul. Cette protection peut être mise en place avec ou sans mot de passe.
  • Dans Worksheet, de nouvelles méthodes sont désormais disponibles pour protéger ou déprotéger une feuille de calcul. Cette protection peut être mise en place avec ou sans mot de passe.
  • Dans Worksheet, la méthode ReplaceContent est maintenant optimisée pour remplacer le contenu plus rapidement.
  • Dans Worksheet, la mise en forme conditionnelle est désormais conservée dans le document final.
  • Dans Worksheet, l’insertion de colonnes ou de lignes lorsque des cellules sont formatées ne génère plus d’exception.
  • Dans WorksheetCollection, il est désormais possible de récupérer des WorksheetRanges afin d’agir simultanément sur plusieurs feuilles de calcul. Cela peut être utile pour modifier la visibilité des feuilles sélectionnées, changer la couleur de leurs onglets, ou déplacer et supprimer plusieurs feuilles en même temps.
  • Dans WorksheetCollection, la méthode Remove utilisant un index pour identifier la feuille à supprimer s’appelle désormais RemoveAt.
  • Dans WorksheetCollection, la copie d’une feuille contenant des tables copie désormais les styles personnalisés des tables et ne provoque plus de corruption du document.

Xceed Words pour .NET 2.4

  • La version .NET Standard de ce produit n’est plus prise en charge. La version .NET5 doit être utilisée à la place.
  • La taille des cases à cocher (CheckBoxes) restera désormais la même si elles sont créées dans Xceed’s Words puis modifiées avec Microsoft Word.
  • Dans Container, Document et Paragraph, les anciennes méthodes ReplaceText et ReplaceTextWithObject sont désormais obsolètes. Deux nouvelles méthodes portant le même nom, mais avec un seul paramètre appelé replaceTextOptions, ont été créées en remplacement.
  • Dans Document, l’appel multiple de la méthode ReplaceText() sur un document volumineux est désormais plus rapide.
  • Dans Document, l’utilisation de la méthode InsertContent() pour insérer du contenu HTML fonctionne désormais avec des caractères non anglophones.
  • Dans Document, le chargement d’un document .docm et l’utilisation de la méthode Save() sauvegarderont désormais le document au format .docm.
  • Dans Document, parcourir les paragraphes et récupérer le paragraphe suivant lorsque le paragraphe courant est vide ne crée plus de boucle infinie.
  • Dans Document, l’insertion ou la suppression de paragraphes, tableaux ou listes ne génère plus d’ArgumentOutOfRangeException.
  • Dans Paragraph, deux nouvelles propriétés, StartIndex et EndIndex, sont désormais disponibles pour déterminer où un paragraphe est situé dans le document.
  • Dans Paragraph, les méthodes InsertPageCount et AppendPageCount incluent désormais un nouveau paramètre appelé useSectionPageCount, qui permet de compter les pages dans la section ou dans le document.
  • Dans Paragraph, les paragraphes corrects sont maintenant retournés lorsque les propriétés NextParagraph et PreviousParagraph sont utilisées dans le contexte des en-têtes ou pieds de page.
  • Dans Paragraph, agir sur un paragraphe ne supprime plus les valeurs des propriétés NextParagraph et PreviousParagraph.
  • Dans Paragraph, l’appel de la méthode Spacing ou l’utilisation d’un objet Formatting dont la propriété Spacing a une valeur ne génère plus d’exception indiquant que la valeur doit être comprise entre -1585 et 1585 lorsque c’est effectivement le cas.
  • Dans Paragraph, définir la valeur de SpacingAfter ou SpacingBefore à 0 alors que la valeur est déjà 0 ne génère plus de NullReferenceException.
  • Dans la conversion PDF, des ajustements ont été effectués pour améliorer la sécurité des threads.
  • Dans la conversion PDF, la conversion d’un document contenant de nombreuses images, formes ou tableaux est désormais plus rapide.
  • Dans la conversion PDF, les tableaux utilisant un WrapStyle seront désormais convertis en PDF.
  • Dans la conversion PDF, les images situées dans un en-tête ou un pied de page sont maintenant affichées dans le document PDF final.
  • Dans la conversion PDF, le PDF résultant respecte désormais plus précisément les paramètres d’interligne du document original lorsque des valeurs spécifiques d’interligne sont utilisées pour les paragraphes.
  • Dans la conversion PDF, les textes situés à l’intérieur des tableaux ne sont plus tronqués lors du processus de conversion.
  • Dans la conversion PDF, un paragraphe contenant des images mais aucun texte n’aura plus de ligne vide après les images.
  • Dans la conversion PDF, la hauteur des cellules à l’intérieur d’un tableau ne prend plus trop d’espace lorsque ces cellules ont un padding.
  • Dans la conversion PDF, la tag keepLines maintenant lit sa valeur pour déterminer si les lignes d’un paragraphe doivent être maintenues ensemble. Grâce à cela, les documents PDF finaux ne présentent plus de pages manquantes.
  • Dans la conversion PDF, le contenu d’un tableau ayant une seule ligne ne se répète plus sur chaque page lorsque ce tableau est réparti sur plusieurs pages.
  • Dans la conversion PDF, le texte affiché sur les dernières pages n’est plus coupé lorsqu’un tableau est réparti sur plus de deux pages.
  • Dans la conversion PDF, un espacement inutile n’est plus ajouté lors de la conversion lorsqu’un tableau contient une cellule avec un seul paragraphe ayant une valeur LineSpacingAfter mais aucun texte.
  • Dans la conversion PDF, le remplacement de texte et la conversion d’un document en PDF lorsque des paragraphes contenant des images sont répartis sur deux pages ne duplique plus ces paragraphes dans le PDF résultant.
  • Dans la conversion PDF, une exception StackOverflow n’est plus levée lors de la conversion d’une image de grande taille.
  • Dans la conversion PDF, les tableaux avec une null pour TableLook ne génèrent plus d’NullReferenceException lors de leur conversion en PDF.
  • Dans la conversion PDF, les exceptions OutOfRange ne sont plus levées lorsqu’un document converti ne contient aucune section.
  • Dans Table, les images sont désormais affichées lorsqu’un tableau est inséré dans un en-tête ou un pied de page.
  • Dans Table, l’insertion ou la suppression de lignes ou de colonnes met désormais à jour le nombre de paragraphes dans le document.
  • Dans Table, récupérer les images d’un tableau situé dans un en-tête ou un pied de page ne génère plus d’exception.

Xceed Toolkit Plus pour WPF 4.5

  • Dans AvalonDock, le DockingManager inclut désormais quatre nouveaux événements appelés PreviewFloat, Floated, PreviewDock et Docked, qui suivent le processus de flottement et d’ancrage d’un LayoutAnchorable ou d’un LayoutDocument.
  • Dans AvalonDock, survoler l’icône de la barre des tâches de l’application affiche désormais toutes les fenêtres flottantes du DockingManager ainsi que la fenêtre principale de l’application.
  • Dans AvalonDock, les LayoutAnchorables flottants qui sont ancrés comme documents à onglets se réancrent désormais correctement dans le DockingManager lorsqu’il n’a pas d’enfants.
  • Dans AvalonDock, lors du flottement, de la maximisation et de la minimisation des fenêtres Layout, les propriétés FloatingHeight et FloatingWidth retournent désormais les valeurs correctes.
  • Dans AvalonDock, la sélection d’un LayoutContent dont la propriété Content est définie à null sélectionne désormais correctement ce LayoutContent.
  • Dans AvalonDock, un LayoutAnchorable ne s’ancre plus à lui-même lorsqu’on ancre un FloatingAnchorable qui avait été flotté depuis un LayoutDocumentPane où il était l’unique enfant.
  • Dans AvalonDock, lorsqu’un Layout est flotté puis fermé, sa propriété IsFloating est désormais définie à faux.
  • Dans AvalonDock, toutes les InputBindings du parent sont désormais utilisées par les fenêtres flottantes.
  • Dans AvalonDock, le rechargement d’une application contenant des LayoutDocumentFloatingWindows conserve désormais les InputBindings actifs dans les fenêtres flottantes.
  • Dans AvalonDock, la réinitialisation de la disposition avec un fichier par défaut ne génère plus d’NullReferenceException.
  • Dans AvalonDock, une exception n’est plus levée lors du désancrage d’éléments Layout à onglets qui ne sont pas contenus dans un DocumentPaneTabPanel.
  • Dans CollectionControl, l’annulation ne supprime plus les éléments enfants de la collection.
  • Dans DateTimePicker, une exception n’est plus levée à l’ouverture du popup du calendrier.
  • Dans DockingManager, une nouvelle propriété appelée AllowMovingFloatingWindowWithKeyboard est désormais disponible pour déterminer si une fenêtre flottante peut être déplacée avec les touches fléchées du clavier.
  • Le DropDownButton ne se ferme plus lorsque le menu contextuel enfant est ouvert.
  • Dans ExtendedTabControl, deux nouveaux boutons, AddButton et RemoveButton, ont été ajoutés pour permettre d’ajouter ou de retirer des onglets (TabItems). Deux nouvelles propriétés ont également été ajoutées pour définir ou obtenir la visibilité de ces boutons.
  • Dans ExtendedTabControl, de nouvelles propriétés ont été ajoutées pour définir ou obtenir la largeur et la hauteur minimale ou maximale des TabItems.
  • Dans ExtendedTabControl, il est désormais possible de faire du glisser-déposer entre les TabItems.
  • Dans LayoutFloatingWindowControl, LayoutAnchorableFloatingWindowControl et LayoutDocumentFloatingWindowControl, une nouvelle propriété appelée ResizeBorderThickness permet désormais de définir ou obtenir la largeur de la bordure utilisée pour redimensionner une fenêtre flottante.
  • Dans PropertyGrid, un nouvel éditeur, le CheckComboBoxEditor, est désormais disponible pour les propriétés Enum qui utilisent les “Flags”.
  • Dans PropertyGrid, l’utilisation de la propriété SelectedObjectsOverride avec de nombreux éléments permet désormais de charger plus rapidement les PropertyItems avant de remplir leurs valeurs.
  • Dans PropertyGrid, utiliser la molette de la souris sur le séparateur vertical situé entre les noms de propriétés et leurs valeurs permet désormais de faire défiler verticalement.
  • Dans PropertyGrid, l’utilisation conjointe des propriétés SelectedObjectsOverride et ShowTitle avec cette dernière à faux n’affiche plus le titre avant de le masquer, évitant ainsi un clignotement.
  • Lors de l’utilisation des thèmes Office 2007, WatermarkComboBox affiche désormais l’élément sélectionné si la propriété IsEditable est définie à vrai.

Xceed DataGrid pour WPF 7.1

  • DataGrid pour WPF prend désormais en charge le framework .NET 5.
  • DataGrid pour WPF inclut maintenant deux nouveaux thèmes : Material Design et Fluent Design.
  • Dans DataGridControl, une nouvelle propriété appelée AllowUIAutomation permet désormais d’activer ou de désactiver la prise en charge de l’automatisation de l’interface utilisateur (UI Automation).
  • Dans ColumnFilterControl, le popup du filtre de colonne peut désormais être fermé avec la touche Échap (Esc).
  • la collection SelectedItems du DataGridControl a été améliorée pour offrir de meilleures performances lors de la vérification de la présence d'un élément via la méthode Contains
  • Les colonnes seront désormais réorganisées correctement lorsque le mode de panoramique du ScrollViewer est défini à both et une touche est utilisé pour intéragir avec la grille
  • Le défilement dans la grille après une recherche ne génère plus d’exception NullReferenceException.
  • Une exception n’est plus levée lorsqu’une propriété d’un élément de données est modifiée dans un contexte d’automatisation UI.

Xceed Zip pour .NET 7.1

  • Le multi-threading est désormais pris en charge lors de la création de fichiers .zip fractionnés.
  • Il est désormais possible de forcer le processus de compression à écrire le fichier .zip en mode streaming si le fichier n’est pas accessible en mode recherche (non seekable).
  • Il est désormais possible de créer des fichiers .zip auto-extractibles lors de l’utilisation de la version .NET Standard du composant sous Windows.
  • Une nouvelle classe utilitaire, appelée BZip2File, a été ajoutée pour créer et manipuler facilement des fichiers BZip2 en utilisant l’interface Xceed.FileSystem.
  • L’événement FileSystemEvents.AddingItemToProcess mémorisera désormais les modifications apportées au paramètre userData.
  • Dans DiskFile et DiskFolder, la date/heure en Temps Universel Coordonné (UTC) est désormais prise en charge.
  • Les avertissements n’apparaîtront plus lors de la compilation sous .NET5 et lors de l’utilisation ultérieure de packages NuGet.
  • Une exception System.NotSupportedException ne sera plus levée lors de la création d’un nouvel objet ZipWriterMultiThreadManager sur des machines disposant de plus de 64 processeurs logiques.
  • La lecture depuis un objet GZipCompressedStream ne génèrera plus d’exception NullReferenceException.
  • Dans ZipArchive, les propriétés DefaultEncryptionPassword et DefaultDecryptionPassword ne génèrent plus d’exception NullReferenceException lorsque null est utilisée car elle est désormais interprétée comme une chaîne vide.

Xceed Zip pour ActiveX 6.5

  • La mise à jour d’un fichier .zip avec un chiffrement compatible et un en-tête supplémentaire File Times ne corrompt plus les éléments.