Inhaltsverzeichnis
API: Layout Controls
API-Referenz für Container und Layout-Management.
TWvdSLayoutControl
Automatisches Formular-Layout.
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 | Typ | Default | Beschreibung |
| Items | TLayoutItemCollection | nil | Layout-Elemente |
|---|---|---|---|
| LabelPosition | TLabelPosition | lpLeft | Left, Top |
| LabelWidth | Integer | 100 | Beschriftungsbreite |
| ItemSpacing | Integer | 5 | Abstand zwischen Items |
| GroupSpacing | Integer | 10 | Abstand zwischen Gruppen |
TWvdSLayoutGroup
| Property | Typ | Beschreibung |
| Header | string | Gruppenüberschrift |
|---|---|---|
| IsCollapsible | Boolean | Einklappbar |
| IsCollapsed | Boolean | Eingeklappt |
| Items | TLayoutItemCollection | Unterelemente |
TWvdSLayoutItem
| Property | Typ | Beschreibung |
| Label | string | Beschriftung |
|---|---|---|
| Control | TWvdSFrameworkElement | Enthaltenes Control |
| ColSpan | Integer | Spaltenspanne |
| RowSpan | Integer | Zeilenspanne |
TWvdSDockingManager
Docking-System für flexible Fensteranordnung.
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 | Typ | Default | Beschreibung |
| Panels | TDockPanelCollection | nil | Dock-Panels |
|---|---|---|---|
| DocumentHost | TDocumentHost | nil | Dokumentbereich |
| Theme | TDockingTheme | dtDefault | Theme |
| AllowFloating | Boolean | True | Floating erlaubt |
| AllowAutoHide | Boolean | True | Auto-Hide erlaubt |
Events
| Event | Signatur | Beschreibung |
| OnPanelDocked | TPanelEvent | Panel angedockt |
|---|---|---|
| OnPanelFloating | TPanelEvent | Panel schwebt |
| OnPanelClosing | TPanelClosingEvent | Panel wird geschlossen |
TWvdSSplitContainer
Geteilter Container.
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 | Typ | Default | Beschreibung |
| Orientation | TWvdSOrientation | oHorizontal | Teilungsrichtung |
|---|---|---|---|
| SplitterPosition | Double | 0.5 | Position (0-1) |
| SplitterWidth | Integer | 5 | Splitter-Breite |
| Panel1 | TWvdSFrameworkElement | nil | Linkes/oberes Panel |
| Panel2 | TWvdSFrameworkElement | nil | Rechtes/unteres Panel |
| Panel1MinSize | Integer | 50 | Minimum Panel1 |
| Panel2MinSize | Integer | 50 | Minimum Panel2 |
| IsSplitterFixed | Boolean | False | Splitter fixiert |
TWvdSGroupControl
Gruppen-Container mit Rahmen.
Namespace
WvdS.UI.Controls.Layout
PXAML
<GroupControl Header="Options"> <StackPanel> <CheckBox Content="Option 1" /> <CheckBox Content="Option 2" /> </StackPanel> </GroupControl>
Properties
| Property | Typ | Default | Beschreibung |
| Header | string | | Überschrift |
^ Content | TWvdSFrameworkElement | nil | Inhalt |
^ BorderStyle | TBorderStyle | bsSingle | None, Single, Double |
—-
===== TWvdSXtraScrollBox =====
Scroll-Container.
==== Namespace ====
WvdS.UI.Controls.Layout
==== PXAML ====
<code xml>
<XtraScrollBox HorizontalScrollBarVisibility=„Auto“
VerticalScrollBarVisibility=„Always“>
<StackPanel>
<!– Viele Controls –>
</StackPanel>
</XtraScrollBox>
</code>
==== Properties ====
| Property | Typ | Default | Beschreibung |
^ Content | TWvdSFrameworkElement | nil | Inhalt |
^ HorizontalScrollBarVisibility | TScrollBarVisibility | svAuto | Hidden, Auto, Visible |
^ VerticalScrollBarVisibility | TScrollBarVisibility | svAuto | Hidden, Auto, Visible |
^ HorizontalOffset | Double | 0 | H-Scroll-Position |
^ VerticalOffset | Double | 0 | V-Scroll-Position |
—-
===== TWvdSFlowLayoutPanel =====
Fließendes Layout.
==== 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 | Typ | Default | Beschreibung |
^ FlowDirection | TFlowDirection | fdLeftToRight | LeftToRight, TopDown, RightToLeft, BottomUp |
^ WrapContents | Boolean | True | Umbrechen |
^ ItemSpacing | Integer | 5 | Abstand |
—-
===== TWvdSTableLayoutPanel =====
Tabellen-basiertes Layout.
==== 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 | Typ | Default | Beschreibung |
^ Columns | string | | Spalten-Definition |
|---|---|---|---|
| Rows | string | | Zeilen-Definition |
^ CellSpacing | Integer | 0 | Zellenabstand |
==== Spalten/Zeilen-Syntax ====
| Wert | Bedeutung |
^ Auto | Automatische Größe |
^ * | Verfügbaren Platz füllen |
^ 100 | Feste Größe (Pixel) |
^ 2* | Doppelte Proportion |
—-
===== TWvdSPopupContainer =====
Popup-Container für benutzerdefinierte Popups.
==== 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 | Typ | Default | Beschreibung |
^ IsOpen | Boolean | False | Popup sichtbar |
^ Content | TWvdSFrameworkElement | nil | Inhalt |
^ PlacementTarget | TWvdSFrameworkElement | nil | Ziel-Element |
^ Placement | TPopupPlacement | ppBottom | Bottom, Top, Left, Right, Center |
^ HorizontalOffset | Double | 0 | H-Versatz |
^ VerticalOffset | Double | 0 | V-Versatz |
—-
===== TWvdSCardControl =====
Card-basierter Container.
==== 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 | Typ | Default | Beschreibung |
^ Cards | TCardCollection | nil | Karten |
^ SelectedCard | TCard | nil | Ausgewählte Karte |
^ CardSpacing | Integer | 10 | Abstand |
—-
===== TWvdSCollapsibleGroup =====
Einklappbare Gruppe.
==== 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 | Typ | Default | Beschreibung |
^ Header | string | | Überschrift |
| Content | TWvdSFrameworkElement | nil | Inhalt |
| IsExpanded | Boolean | True | Ausgeklappt |
| CollapseAnimation | Boolean | True | Animation |
Events
| Event | Signatur | Beschreibung |
| OnExpanded | TNotifyEvent | Ausgeklappt |
|---|---|---|
| OnCollapsed | TNotifyEvent | Eingeklappt |
Siehe auch
Zuletzt geändert: den 29.01.2026 um 15:13