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