Creating minimal Avalonia next generation (NXUI, next-gen UI) application using C# 10 and .NET 6 and 7
s6WC0Uol0x.mp4
<PackageReference Include="NXUI" Version="11.0.0" />
Additionally, depending on the application type:
<PackageReference Include="NXUI.Desktop" Version="11.0.0" />
or
<PackageReference Include="Avalonia.Desktop" Version="11.0.0" />
<PackageReference Include="Avalonia.Browser" Version="11.0.0" />
dotnet workload install wasm-tools
Window Build() => Window().Content(Label().Content("NXUI"));
AppBuilder.Configure<Application>()
.UsePlatformDetect()
.UseFluentTheme()
.StartWithClassicDesktopLifetime(Build, args);
var count = 0;
Window Build()
=> Window(out var window)
.Title("NXUI").Width(400).Height(300)
.Content(
StackPanel()
.Children(
Button(out var button)
.Content("Welcome to Avalonia, please click me!"),
TextBox(out var tb1)
.Text("NXUI"),
TextBox()
.Text(window.BindTitle()),
Label()
.Content(button.ObserveOnClick().Select(_ => ++count).Select(x => $"You clicked {x} times."))))
.Title(tb1.ObserveText().Select(x => x?.ToUpper()));
AppBuilder.Configure<Application>()
.UsePlatformDetect()
.UseFluentTheme()
.WithApplicationName("NXUI")
.StartWithClassicDesktopLifetime(Build, args);
C#
cd src/Generator
dotnet run -- ../NXUI/Generated
F#
cd src/Generator
dotnet run -- ../NXUI.FSharp/Generated -fsharp