UI Designer omogućuje vizualni PXAML razvoj u VS Code - WYSIWYG editor za Pascal-bazirana korisnička sučelja.
Designer nudi:
PXAML (Pascal XAML) je XML-bazirani markup format za korisnička sučelja, inspiriran WPF/XAML-om.
<Window Title="Hello PXAML" Width="400" Height="300"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Label Grid.Row="0" Content="Dobrodošli!" FontSize="24"/> <StackPanel Grid.Row="1" Orientation="Vertical" Margin="10"> <TextBox x:Name="txtInput" PlaceholderText="Unesite ime..."/> <Button Content="Pozdravi" Click="OnGreetClick"/> </StackPanel> </Grid> </Window>
| Aspekt | PXAML | LFM (Lazarus) |
|---|---|---|
| Format | XML | Vlasnički (binarni ili tekstualni) |
| Čitljivost | Visoka | Srednja |
| Kontrola verzija | Izvrsna (diff-prijateljska) | Teška |
| Designer | WvdS Designer | Lazarus IDE |
| Ciljevi | GUI, TUI, Web | Samo GUI |
| Naredba | Tipkovnička kratica | Opis |
|---|---|---|
WVDS Designer: New PXAML File | - | Stvara novu PXAML datoteku |
WVDS Designer: Toggle Designer Preview | - | Prebacuje između pogleda koda i dizajna |
WVDS Designer: Show Properties Panel | - | Prikazuje panel svojstava |
Ctrl+Shift+P → WVDS Designer: New PXAML FileKada otvorite .pxaml datoteku, Designer se automatski aktivira.
Editor prikazuje:
Za uređivanje PXAML izvornog koda:
Drag & Drop:
Putem koda:
<Window xmlns="http://schemas.wvds.de/pxaml/2024" xmlns:x="http://schemas.wvds.de/pxaml/x/2024" xmlns:local="clr-namespace:MyApp"> </Window>
| Namespace | Korištenje |
|---|---|
| Standard (bez prefiksa) | Osnovne kontrole (Button, TextBox, Grid, …) |
| x: | Markup ekstenzije (x:Name, x:Key, …) |
| local: | Vlastiti tipovi iz projekta |
| Kontejner | Opis |
|---|---|
| Grid | Layout s recima i stupcima |
| StackPanel | Slaže elemente horizontalno ili vertikalno |
| DockPanel | Sidri elemente uz rubove |
| Canvas | Apsolutno pozicioniranje |
| WrapPanel | Raspored s prijelomom |
| Kontrola | Opis |
|---|---|
| Button | Gumb s Click događajem |
| TextBox | Jednoredni unos teksta |
| Label | Prikaz teksta |
| CheckBox | Odabir Da/Ne |
| ComboBox | Padajući odabir |
| ListBox | Odabir s liste |
| Image | Prikaz slike |
| Border | Okvir i pozadina |
<TextBox Text="{Binding Path=UserName, Mode=TwoWay}"/> <Label Content="{Binding Path=WelcomeMessage}"/>
<Button Content="Spremi" Click="OnSaveClick"/>
Handler se implementira u code-behind unitu:
procedure TMainWindow.OnSaveClick(Sender: TObject); begin // Logika spremanja end;
Designer koristi postavke UI Meta ekstenzije za IntelliSense i informacije o komponentama.
PXAML se može renderirati za različite ciljeve:
| Cilj | Opis | Renderer |
|---|---|---|
| GUI | Nativno desktop sučelje | LCL-bazirano |
| TUI | Terminalno sučelje | Tekstualno |
| Web | Sučelje preglednika | HTML/CSS |
Odabir se vrši tijekom kompilacije, ne u designeru.
Uzrok: PXAML sintaksna greška ili nedostaju komponente.
Rješenje:
Uzrok: Auto-refresh je deaktiviran ili je došlo do greške.
Rješenje:
Ctrl+S)WVDS: Refresh PreviewUzrok: Pogrešno područje ili nepodržani kontejner.
Rješenje:
| Svojstvo | Vrijednost |
|---|---|
| Extension ID | wvds.wvds-vscode-ui-designer |
| Aktivacija | onCustomEditor:wvds.ui.designer.pxaml |
| Ovisnosti | wvds-vscode-core |
| Min. VS Code | 1.85.0 |
| Format datoteke | .pxaml |