CE QUE VOUS OBTENEZ
Un espace de travail avec docking dans votre application Avalonia
Un seul contrôle placé dans une fenêtre. Vous ajoutez les panneaux dans le code, vous donnez à chacun votre propre contrôle, et l'utilisateur les organise.
Panneaux d'outils et documents
Chaque TsgcDockPanel a un Name, un Caption, une icône, un Kind (dpkTool ou dpkDocument) et le Control qu'il affiche. Les panneaux d'outils démarrent du côté de leur Placement, sur une largeur de DockSize, et les panneaux ayant le même GroupName se regroupent en onglets.
Vos propres contrôles
Le contenu d'un panneau est un Control Avalonia ordinaire. Il devient un enfant logique et visuel du site d'ancrage, si bien que le DataContext est transmis depuis votre fenêtre, et il est disposé et affiché tant que son panneau est le panneau actif. Un panneau masqué conserve son contrôle comme enfant masqué.
Guides de dépose avec aperçu
Pendant le déplacement d'un titre ou d'un onglet, une boussole sur le groupe situé sous le pointeur divise ce groupe d'un côté ou y place le panneau en onglet, les guides de bord l'ancrent sur un bord de tout le site, et un rectangle d'aperçu à la couleur d'accent montre la place qu'il prendra. Échap annule le déplacement.
Séparateurs
Les groupes se trouvent dans des divisions imbriquées, côte à côte ou empilées, avec des séparateurs entre eux. Un glissement redimensionne les voisins en direct, et chaque groupe garde au moins MinPanelSize. SplitterSize fixe la largeur des séparateurs.
Volets à masquage automatique
Le bouton d'épingle envoie un panneau d'outils sur la bande de son côté. Survoler son onglet pendant AutoHideDelay millisecondes, ou cliquer dessus, fait glisser le panneau en volet au-dessus du contenu, et il se range quand l'utilisateur travaille ailleurs. Dans le code, Model.SetAutoHide fait la même chose.
Fenêtres flottantes
Déposez un panneau loin des guides, double-cliquez sur son titre ou choisissez Float dans son menu, et il passe dans une fenêtre Avalonia sans bordure appartenant à votre fenêtre, hors de la barre des tâches. Une fenêtre flottante contient son propre arbre, de sorte que d'autres panneaux peuvent s'y ancrer. Chaque fenêtre flottante utilise l'échelle de son propre écran.
Groupes de documents
La zone de documents a des bandes d'onglets avec onglets épinglés et modifiés, boutons de fermeture, un bouton de nouvel onglet (DocumentShowNewButton, OnNewDocument) et un bouton de liste des onglets. Faire glisser un onglet de document vers un côté le divise dans un nouveau groupe de documents, et un double-clic sur un onglet agrandit son groupe.
Ctrl+F6 parcourt les documents, Alt+F7 les panneaux d'outils, Maj+Échap masque le panneau d'outils actif et Alt+Moins ouvre le menu du panneau avec Float, Dock, Auto Hide, Hide et Close. Ctrl+Tab, Ctrl+W et Ctrl+F4 sont aussi gérées comme touches de docking. Avec TsgcAvaloniaCommandPalette, le gestionnaire d'ancrage liste en plus une commande Window par panneau.
Accessibilité, RTL et HiDPI
Les lecteurs d'écran voient le site via UI Automation comme un volet nommé "Dock site", avec des volets pour les groupes, des éléments d'onglet pour les bandes et des séparateurs avec une valeur de plage pour les séparateurs de redimensionnement. Avec FlowDirection de droite à gauche, tout le site est inversé. L'habillage est dessiné à l'échelle de rendu de la fenêtre.
Disposition en JSON
SaveLayout, SaveLayoutToFile et SaveLayoutToStream écrivent la disposition, les méthodes LoadLayout la relisent et ramènent les fenêtres flottantes dans la zone de travail des écrans. Le texte JSON est identique à celui du modèle Delphi. OnRestorePanel crée le contrôle d'un panneau qu'une disposition enregistrée désigne et que votre session n'a pas encore ouvert.
Thèmes, Fluent compris
Theme fait passer le gestionnaire d'ancrage entre thèmes clair, sombre, à contraste élevé et personnalisés, et AccentColor définit l'accent du titre actif. Réglez sgcUIApplication.ThemePreset sur le préréglage Fluent, et le gestionnaire d'ancrage se dessine avec les couleurs de WinUI 3, comme tous les autres contrôles sgcUI.
Textes localisés
Les libellés de l'habillage de docking (Close, Auto Hide, Maximize, Float, Dock, Hide, "No open documents" et les noms que lisent les lecteurs d'écran) passent par sgcUILang, et les packs de traduction de sgcUI couvrent l'espagnol, l'allemand, le français, l'italien, le néerlandais, le polonais, le portugais, le turc, le japonais, le coréen et le chinois.