Vue d’ensemble

Alors que l’équipe continue à avancer sur la future version v5, une nouvelle mise à jour de maintenance pour la branche v4 est maintenant disponible : Fluent UI Blazor v4.14.1. Cette version se concentre sur la stabilité, l’accessibilité et quelques améliorations ciblées sur les composants les plus utilisés — en particulier le DataGrid et le NavGroup.

Pour cette version 4.14.1, les points forts incluent :

  • Améliorations du DataGrid : nouvel événement OnSortChanged, performance au premier chargement et correction de SelectedItems avec la pagination/virtualisation
  • Corrections du NavGroup pour l’état désactivé, l’opacité de la police et la propagation de CustomColor vers les icônes
  • Accessibilité clavier du Popover : la navigation au clavier dans les régions ancrées ouvertes est désormais prise en charge
  • Correctif de compatibilité .NET 11 : les événements personnalisés sont renommés avec un préfixe fluent (ex. fluentdateselected)
  • Mise à jour des Fluent UI System Icons vers la version 1.1.324
  • Plusieurs mises à jour de la documentation et des dépendances

Pour un aperçu complet de tous les changements, consultez la page What’s New sur le site de documentation.

Améliorations du DataGrid

Le FluentDataGrid continue de recevoir beaucoup d’attention. Trois changements notables dans la 4.14.1 :

Nouvel événement OnSortChanged

Vous pouvez désormais réagir aux changements de tri au niveau de la grille, sans avoir à brancher des gestionnaires sur chaque colonne individuellement.

<FluentDataGrid Items="@items" OnSortChanged="@HandleSortChanged">
    <PropertyColumn Property="@(i => i.Name)" Sortable="true" />
    <PropertyColumn Property="@(i => i.CreatedOn)" Sortable="true" />
</FluentDataGrid>

@code
{
    private void HandleSortChanged(GridSort<MyItem>? sort)
    {
        // Persister, journaliser ou relancer une requête selon le nouveau tri.
    }
}

Correction de SelectedItems avec la pagination et la virtualisation

Auparavant, changer de page (ou faire défiler des lignes virtualisées) pouvait silencieusement désélectionner des éléments qui n’étaient plus dans la zone visible. C’est maintenant corrigé — les sélections sont conservées entre les pages et les fenêtres virtuelles.

Chargement initial plus rapide

Le travail de rendu interne a été réduit, rendant le premier affichage des grandes grilles sensiblement plus rapide.

Corrections du NavGroup

Le composant FluentNavGroup reçoit plusieurs corrections ciblées :

  • L’état désactivé est maintenant correctement appliqué aux FluentNavGroup de premier niveau.
  • Les éléments désactivés utilisent désormais l’opacité de la police au lieu d’une couleur codée en dur, ce qui s’intègre beaucoup mieux aux thèmes personnalisés.
  • Le paramètre CustomColor est maintenant propagé à l’icône, afin que vos groupes de navigation aux couleurs personnalisées soient enfin cohérents.

Accessibilité clavier du Popover

Le FluentPopover (et les composants qui s’appuient dessus) permet désormais la navigation par tabulation à l’intérieur des régions ancrées ouvertes, avec une prise en charge correcte de la navigation accessible au clavier. Il s’agit d’une avancée importante en matière d’accessibilité pour les applications qui utilisent des popovers pour les menus, les filtres ou les actions rapides.

Compatibilité .NET 11 : événements personnalisés renommés

Pour résoudre une exception sous .NET 11, quelques événements personnalisés internes ont été renommés avec un préfixe fluent afin d’éviter les collisions avec les événements natifs du navigateur. Le plus visible :

  • dateselectedfluentdateselected

Cela n’affecte que le code qui s’abonne directement à ces événements personnalisés de bas niveau — la plupart des applications qui utilisent les liaisons et callbacks standards de FluentDatePicker ne sont pas impactées.

Autres changements notables

  • AppBarOnClick ferme désormais correctement le popover.
  • MessageBar — Correction d’un NullReferenceException dans MessageService.
  • SplashScreen — Les méthodes synchrones sont maintenant marquées [Obsolete] ; utilisez les variantes asynchrones.
  • TabsHandleOnTabChange est maintenant appelé lorsqu’un onglet est changé via le menu de débordement.
  • Templates — Correction d’une erreur 404 dans le template de projet WebAssembly.
  • Reboot — Ajout de accent-color dans reboot.css pour un meilleur rendu natif des contrôles.
  • iOS — Correction d’une erreur “Illegal constructor” sur les anciens appareils iOS.
  • Docs — Mise à jour de la documentation des keycodes, ajout d’une note sur le render mode et l’interactivité requise, et correction d’une icône incorrecte dans la recherche de navigation.

Icônes

Cette version embarque les Fluent UI System Icons 1.1.324. Consultez l’historique des commits pour la liste complète des nouvelles icônes et des mises à jour.

Mise à jour

La mise à jour est aussi simple qu’un changement de version du package :

<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.14.1" />

Aucun changement cassant dans la 4.14.1 — c’est un remplacement direct de la 4.14.0.

Et ensuite ?

L’objectif principal de l’équipe reste Fluent UI Blazor v5, avec la RC2 déjà disponible et une version GA à l’horizon. En attendant, la v4.14.1 maintient la branche v4 en bonne santé pour les applications en production qui ne sont pas encore prêtes à migrer.

Un grand merci encore à tous ceux qui ont signalé des problèmes, soumis des PR et aidé à tester cette version !