Inhaltsverzeichnis
API: Layout Controls
Riferimento API per container e gestione layout.
TWvdSLayoutControl
Layout automatico per form.
Namespace
WvdS.UI.Controls.Layout
PXAML
<LayoutControl> <LayoutGroup Header="Personal Data"> <LayoutItem Label="Name:"> <TextEdit Text="{Binding Name}" /> </LayoutItem> <LayoutItem Label="Email:"> <TextEdit Text="{Binding Email}" /> </LayoutItem> </LayoutGroup> <LayoutGroup Header="Address" IsCollapsible="True"> <LayoutItem Label="Street:"> <TextEdit Text="{Binding Street}" /> </LayoutItem> <LayoutItem Label="City:"> <TextEdit Text="{Binding City}" /> </LayoutItem> </LayoutGroup> </LayoutControl>
Properties
| Property | Tipo | Default | Descrizione |
| Items | TLayoutItemCollection | nil | Elementi layout |
|---|---|---|---|
| LabelPosition | TLabelPosition | lpLeft | Left, Top |
| LabelWidth | Integer | 100 | Larghezza etichette |
| ItemSpacing | Integer | 5 | Distanza tra item |
| GroupSpacing | Integer | 10 | Distanza tra gruppi |
TWvdSLayoutGroup
| Property | Tipo | Descrizione |
| Header | string | Intestazione gruppo |
|---|---|---|
| IsCollapsible | Boolean | Collassabile |
| IsCollapsed | Boolean | Collassato |
| Items | TLayoutItemCollection | Sottoelementi |
TWvdSLayoutItem
| Property | Tipo | Descrizione |
| Label | string | Etichetta |
|---|---|---|
| Control | TWvdSFrameworkElement | Control contenuto |
| ColSpan | Integer | Estensione colonne |
| RowSpan | Integer | Estensione righe |
TWvdSDockingManager
Sistema docking per disposizione finestre flessibile.
Namespace
WvdS.UI.Controls.Layout
PXAML
<DockingManager> <DockPanel Name="Explorer" Position="Left" Width="200"> <FileExplorer /> </DockPanel> <DockPanel Name="Properties" Position="Right" Width="250"> <PropertyGrid /> </DockPanel> <DockPanel Name="Output" Position="Bottom" Height="150"> <OutputLog /> </DockPanel> <DocumentHost> <Document Title="MainWindow.pxaml"> <CodeEditor /> </Document> </DocumentHost> </DockingManager>
Properties
| Property | Tipo | Default | Descrizione |
| Panels | TDockPanelCollection | nil | Pannelli dock |
|---|---|---|---|
| DocumentHost | TDocumentHost | nil | Area documenti |
| Theme | TDockingTheme | dtDefault | Tema |
| AllowFloating | Boolean | True | Floating permesso |
| AllowAutoHide | Boolean | True | Auto-Hide permesso |
Events
| Event | Firma | Descrizione |
| OnPanelDocked | TPanelEvent | Pannello agganciato |
|---|---|---|
| OnPanelFloating | TPanelEvent | Pannello fluttuante |
| OnPanelClosing | TPanelClosingEvent | Pannello in chiusura |
TWvdSSplitContainer
Container diviso.
Namespace
WvdS.UI.Controls.Layout
PXAML
<SplitContainer Orientation="Horizontal" SplitterPosition="0.3"> <SplitContainer.Panel1> <TreeView ItemsSource="{Binding Folders}" /> </SplitContainer.Panel1> <SplitContainer.Panel2> <ListView ItemsSource="{Binding Files}" /> </SplitContainer.Panel2> </SplitContainer>
Properties
| Property | Tipo | Default | Descrizione |
| Orientation | TWvdSOrientation | oHorizontal | Direzione divisione |
|---|---|---|---|
| SplitterPosition | Double | 0.5 | Posizione (0-1) |
| SplitterWidth | Integer | 5 | Larghezza splitter |
| Panel1 | TWvdSFrameworkElement | nil | Pannello sinistro/superiore |
| Panel2 | TWvdSFrameworkElement | nil | Pannello destro/inferiore |
| Panel1MinSize | Integer | 50 | Minimo Panel1 |
| Panel2MinSize | Integer | 50 | Minimo Panel2 |
| IsSplitterFixed | Boolean | False | Splitter fisso |
TWvdSGroupControl
Container gruppo con cornice.
Namespace
WvdS.UI.Controls.Layout
PXAML
<GroupControl Header="Options"> <StackPanel> <CheckBox Content="Option 1" /> <CheckBox Content="Option 2" /> </StackPanel> </GroupControl>
Properties
| Property | Tipo | Default | Descrizione |
| Header | string | | Intestazione |
^ Content | TWvdSFrameworkElement | nil | Contenuto |
^ BorderStyle | TBorderStyle | bsSingle | None, Single, Double |
—-
===== TWvdSXtraScrollBox =====
Container con scroll.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<XtraScrollBox HorizontalScrollBarVisibility=„Auto“
VerticalScrollBarVisibility=„Always“>
<StackPanel>
<!– Molti control –>
</StackPanel>
</XtraScrollBox>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ Content | TWvdSFrameworkElement | nil | Contenuto |
^ HorizontalScrollBarVisibility | TScrollBarVisibility | svAuto | Hidden, Auto, Visible |
^ VerticalScrollBarVisibility | TScrollBarVisibility | svAuto | Hidden, Auto, Visible |
^ HorizontalOffset | Double | 0 | Posizione scroll H |
^ VerticalOffset | Double | 0 | Posizione scroll V |
—-
===== TWvdSFlowLayoutPanel =====
Layout fluido.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<FlowLayoutPanel FlowDirection=„LeftToRight“
WrapContents=„True“
ItemSpacing=„10“>
<Button Caption=„Button 1“ />
<Button Caption=„Button 2“ />
<Button Caption=„Button 3“ />
</FlowLayoutPanel>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ FlowDirection | TFlowDirection | fdLeftToRight | LeftToRight, TopDown, RightToLeft, BottomUp |
^ WrapContents | Boolean | True | A capo |
^ ItemSpacing | Integer | 5 | Distanza |
—-
===== TWvdSTableLayoutPanel =====
Layout basato su tabella.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<TableLayoutPanel Columns=„Auto,*,100“
Rows=„Auto,*“>
<Label Text=„Name:“ Row=„0“ Column=„0“ />
<TextEdit Row=„0“ Column=„1“ ColumnSpan=„2“ />
<Label Text=„Notes:“ Row=„1“ Column=„0“ />
<MemoEdit Row=„1“ Column=„1“ ColumnSpan=„2“ />
</TableLayoutPanel>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ Columns | string | | Definizione colonne |
|---|---|---|---|
| Rows | string | | Definizione righe |
^ CellSpacing | Integer | 0 | Spaziatura celle |
==== Sintassi Colonne/Righe ====
| Valore | Significato |
^ Auto | Dimensione automatica |
^ * | Riempie spazio disponibile |
^ 100 | Dimensione fissa (pixel) |
^ 2* | Proporzione doppia |
—-
===== TWvdSPopupContainer =====
Container popup per popup personalizzati.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<PopupContainer IsOpen=„{Binding ShowPopup}“
PlacementTarget=„{Binding ElementName=targetButton}“
Placement=„Bottom“>
<Border Background=„White“ Padding=„10“>
<StackPanel>
<Label Text=„Popup Content“ />
<Button Caption=„Close“ Command=„{Binding ClosePopup}“ />
</StackPanel>
</Border>
</PopupContainer>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ IsOpen | Boolean | False | Popup visibile |
^ Content | TWvdSFrameworkElement | nil | Contenuto |
^ PlacementTarget | TWvdSFrameworkElement | nil | Elemento target |
^ Placement | TPopupPlacement | ppBottom | Bottom, Top, Left, Right, Center |
^ HorizontalOffset | Double | 0 | Offset H |
^ VerticalOffset | Double | 0 | Offset V |
—-
===== TWvdSCardControl =====
Container basato su card.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<CardControl>
<Card Header=„Card 1“>
<Content1 />
</Card>
<Card Header=„Card 2“>
<Content2 />
</Card>
</CardControl>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ Cards | TCardCollection | nil | Card |
^ SelectedCard | TCard | nil | Card selezionata |
^ CardSpacing | Integer | 10 | Distanza |
—-
===== TWvdSCollapsibleGroup =====
Gruppo collassabile.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<CollapsibleGroup Header=„Advanced Options“
IsExpanded=„False“>
<StackPanel>
<CheckBox Content=„Enable feature X“ />
<SpinEdit Value=„100“ />
</StackPanel>
</CollapsibleGroup>
</code>
==== Properties ====
| Property | Tipo | Default | Descrizione |
^ Header | string | | Intestazione |
| Content | TWvdSFrameworkElement | nil | Contenuto |
| IsExpanded | Boolean | True | Espanso |
| CollapseAnimation | Boolean | True | Animazione |
Events
| Event | Firma | Descrizione |
| OnExpanded | TNotifyEvent | Espanso |
|---|---|---|
| OnCollapsed | TNotifyEvent | Collassato |
Vedi anche
Zuletzt geändert: il 29/01/2026 alle 22:37