COSA OTTIENI
Uno spazio di lavoro con docking dentro la tua app Avalonia
Un solo controllo posto in una finestra. Aggiungi i pannelli nel codice, dai a ciascuno il tuo controllo, e l'utente li dispone.
Pannelli strumenti e documenti
Ogni TsgcDockPanel ha un Name, una Caption, un'icona, un Kind (dpkTool o dpkDocument) e il Control che mostra. I pannelli strumenti partono dal lato del loro Placement, larghi DockSize, e i pannelli con lo stesso GroupName si raggruppano in schede.
I tuoi controlli
Il contenuto di un pannello è un normale Control di Avalonia. Diventa figlio logico e visuale del sito di ancoraggio, quindi il DataContext arriva dalla tua finestra, e viene disposto e mostrato finché il suo pannello è quello attivo. Un pannello nascosto mantiene il suo controllo come figlio nascosto.
Guide di rilascio con anteprima
Mentre si trascina un titolo o una scheda, una bussola sul gruppo sotto il puntatore divide quel gruppo su un lato o vi inserisce il pannello come scheda, le guide di bordo lo ancorano a un bordo dell'intero sito, e un rettangolo di anteprima nel colore di accento mostra lo spazio che occuperà. Esc annulla il trascinamento.
Divisori
I gruppi stanno in divisioni annidate, affiancate o impilate, con divisori tra loro. Un trascinamento ridimensiona i vicini in tempo reale, e ogni gruppo mantiene almeno MinPanelSize. SplitterSize imposta la larghezza dei divisori.
Pannelli a comparsa con nascondi automaticamente
Il pulsante di fissaggio manda un pannello strumenti sulla barra del suo lato. Passando sulla sua scheda per AutoHideDelay millisecondi, o facendo clic su di essa, il pannello scorre fuori come pannello a comparsa sopra il contenuto, e rientra quando l'utente lavora altrove. Nel codice, Model.SetAutoHide fa lo stesso.
Finestre mobili
Rilascia un pannello lontano dalle guide, fai doppio clic sul suo titolo o scegli Float nel suo menu, e passa a una finestra Avalonia senza bordi di proprietà della tua finestra, fuori dalla barra delle applicazioni. Una finestra mobile contiene un albero proprio, quindi altri pannelli si ancorano al suo interno. Ogni finestra mobile usa la scala del proprio monitor.
Gruppi di documenti
L'area documenti ha barre di schede con schede fissate e modificate, pulsanti di chiusura, un pulsante per una nuova scheda (DocumentShowNewButton, OnNewDocument) e un pulsante con l'elenco delle schede. Trascinando una scheda di documento verso un lato la si divide in un nuovo gruppo di documenti, e un doppio clic su una scheda massimizza il suo gruppo.
Ctrl+F6 scorre i documenti, Alt+F7 i pannelli strumenti, Maiusc+Esc nasconde il pannello strumenti attivo e Alt+Meno apre il menu del pannello con Float, Dock, Auto Hide, Hide e Close. Anche Ctrl+Tab, Ctrl+W e Ctrl+F4 sono gestiti come tasti di docking. Con TsgcAvaloniaCommandPalette il gestore di ancoraggio elenca anche un comando Window per pannello.
Accessibilità, RTL e HiDPI
Gli screen reader vedono il sito tramite UI Automation come un riquadro chiamato "Dock site", con riquadri per i gruppi, elementi scheda per le barre e separatori con un valore di intervallo per i divisori. Con FlowDirection da destra a sinistra l'intero sito viene rispecchiato. L'aspetto grafico viene disegnato alla scala di rendering della finestra.
Layout come JSON
SaveLayout, SaveLayoutToFile e SaveLayoutToStream scrivono la disposizione, i metodi LoadLayout la rileggono e riportano le finestre mobili nell'area di lavoro degli schermi. Il testo JSON è identico a quello del modello Delphi. OnRestorePanel crea il controllo di un pannello che un layout salvato nomina e che la tua sessione non ha ancora aperto.
Temi, Fluent incluso
Theme fa passare il gestore di ancoraggio tra temi chiaro, scuro, ad alto contrasto e personalizzati, e AccentColor imposta l'accento del titolo attivo. Imposta sgcUIApplication.ThemePreset sul preset Fluent e il gestore di ancoraggio si disegna con i colori di WinUI 3, come ogni altro controllo sgcUI.
Testi localizzati
Le etichette dell'aspetto grafico del docking (Close, Auto Hide, Maximize, Float, Dock, Hide, "No open documents" e i nomi che sentono gli screen reader) passano da sgcUILang, e i pacchetti di traduzione di sgcUI coprono spagnolo, tedesco, francese, italiano, olandese, polacco, portoghese, turco, giapponese, coreano e cinese.