VeloxDev.WinUI.Templates
5.0.2
See the version list below for details.
dotnet new install VeloxDev.WinUI.Templates@5.0.2
<div align="center">
โก VeloxDev
Build modern, AI-controllable workflow editors on any .NET GUI โ WPF, Avalonia, WinUI, MAUI, or WinForms.
๐ Full documentation & guides โ Wiki
</div>
โจ What is VeloxDev?
VeloxDev gives .NET developers a complete foundation for building interactive workflow editors โ the kind where users drag nodes, wire slots together, and watch data flow through a graph at runtime.
The workflow system is the core. Everything else exists to make workflows more extensible, more polished, and AI-controllable:
| Layer | What it provides | Adapter needed? |
|---|---|---|
| โ๏ธ Workflow | Tree / Node / Slot / Link templates with full undo-redo, spatial indexing, and a serialization model | โ |
| ๐ค Workflow Agent | 30+ Function Calling tools โ an AI can create nodes, wire slots, patch properties, and manage routing at runtime via natural language | โ Extension |
| ๐ชถ MVVM | Source Generator for observable properties and async, cancellable commands โ the glue that keeps node ViewModels lightweight | โ |
| ๐๏ธ Transition | Cross-platform interpolation animation with easing & Fluent API โ smooth visual feedback for workflow state changes | โ |
| ๐จ Theme | Runtime theme switching with animated transitions โ instant visual identity for your editor | โ |
| ๐ AOP | Compile-time aspect proxies โ intercept node execution, add logging or validation without modifying business logic | โ |
| โ๏ธ MonoBehaviour | Frame-driven lifecycle loop โ tick-based node simulation or real-time graph execution | โ |
| ๐ฆ AOT Reflection | Source-generated reflection preservation โ keeps workflow introspection working after trimming and AOT compilation | โ |
๐ฆ Installation
Pick the adapter for your GUI framework and you get everything โ workflow, agent, animations, and theming wired up for that platform.
Platform adapter packages (recommended)
| Platform | Package | NuGet |
|---|---|---|
| WPF | VeloxDev.WPF |
|
| Avalonia | VeloxDev.Avalonia |
|
| WinUI | VeloxDev.WinUI |
|
| MAUI | VeloxDev.MAUI |
|
| WinForms | VeloxDev.WinForms |
Build a WPF workflow view suite with the CLI
Run these commands from an existing WPF project. Replace MyApp with the
project's root namespace:
dotnet new install VeloxDev.WPF.Templates
dotnet add package VeloxDev.WPF
dotnet new wpf-v-slot -n SlotView -ns MyApp.Views -o Views
dotnet new wpf-v-node -n NodeView -ns MyApp.Views -o Views
dotnet new wpf-v-link -n LinkView -ns MyApp.Views -o Views
dotnet new wpf-v-selector -n TemplateSelector -ns MyApp.Views -o Views
dotnet new wpf-v-decorator -n GridDecorator -ns MyApp.Views -o Views
dotnet new wpf-v-tree -n TreeView -ns MyApp.Views -o Views
dotnet build
The template package contains the Node, Slot, Link, Tree, template selector, and grid decorator views. Each view template generates its XAML and code-behind files with the required VeloxDev workflow behaviors already connected.
The Avalonia, WPF, WinUI, and MAUI template suites expose the same style options. Common short aliases include:
| Template | Style aliases |
|---|---|
| Node | -bg background, -fg foreground, -bb border brush, -bt border thickness, -cr corner radius |
| Slot | -bg background, -sc standby color, -bc border color |
| Link | -lc line color, -lt line thickness |
| Tree | -bg background, -bb border brush, -bt border thickness, -cr corner radius |
| Grid decorator | -bg background, -mic minor color, -mac major color, -ac axis color, -gs spacing, -mle major interval |
All templates use -ns for the generated namespace.
Core-only packages (bring your own adapter)
๐ Quick Look
Define a node
// Declare a node โ the Source Generator handles INotifyPropertyChanged,
// slot lifecycle, and command wiring automatically.
[WorkflowBuilder.Node<MyNodeHelper>]
public partial class MyNodeViewModel
{
public MyNodeViewModel() => InitializeWorkflow();
[AgentContext(AgentLanguages.English, "Input slot (receiver)")]
[VeloxProperty] public partial MySlotViewModel InputSlot { get; set; }
[AgentContext(AgentLanguages.English, "Output slot (sender)")]
[VeloxProperty] public partial MySlotViewModel OutputSlot { get; set; }
[AgentContext(AgentLanguages.English, "Display title shown in the node header")]
[VeloxProperty] private string title = "My Node";
}
Let an AI control the workflow at runtime
// One fluent call wires up discovery, tools, and the agent session.
var scope = tree.AsAgentScope()
.WithAutoDiscovery(assemblyName: "MyApp")
.WithInteractionSafety(3) // confirm before destructive ops; present choices via tool
.WithSelectionHandler(ShowDialog)
.WithConfirmationHandler(ShowDialog);
var agent = chatClient.AsAIAgent(
instructions: scope.ProvideProgressiveContextPrompt(),
tools: scope.ProvideTools());
The agent can then create nodes, wire slots, change routing credentials, and patch properties โ all through natural-language instructions, with full undo/redo support.
๐๏ธ Repository Layout
VeloxDev/
โโโ Src/
โ โโโ Core/
โ โ โโโ VeloxDev.Core # Workflow abstractions, MVVM generators & runtime models
โ โ โโโ VeloxDev.Core.Extension # MAF-based Workflow Agent tools & runtime extensions
โ โ โโโ VeloxDev.Core.Test # Unit tests for VeloxDev.Core
โ โ โโโ VeloxDev.Core.Extension.Test # Unit tests for VeloxDev.Core.Extension
โ โโโ Adapters/
โ โ โโโ VeloxDev.WPF # WPF platform adapter
โ โ โโโ VeloxDev.Avalonia # Avalonia platform adapter
โ โ โโโ VeloxDev.WinUI # WinUI 3 platform adapter
โ โ โโโ VeloxDev.MAUI # .NET MAUI platform adapter
โ โ โโโ VeloxDev.WinForms # WinForms platform adapter
โ โโโ Generators/
โ โ โโโ VeloxDev.Core.Generator # Roslyn Source Generators (netstandard2.0)
โ โโโ Templates/ # dotnet new item templates for GUI adapters
โโโ Examples/
โ โโโ Workflow/ WPF ยท Avalonia ยท WinUI ยท WinForms ยท MAUI ยท Common(Lib)
โ โโโ MVVM/ WPF ยท Avalonia
โ โโโ Transition/ WPF ยท Avalonia ยท WinUI ยท WinForms ยท MAUI
โ โโโ Theme/ WPF ยท Avalonia
โ โโโ AOP/ WPF ยท Avalonia
โ โโโ AOTReflection/
โ โโโ MonoBehaviour/ WPF
โโโ Docs/
โโโ VeloxDev.Docs # Documentation site (Blazor WebAssembly)
โโโ VeloxDev.Docs.Browser # Browser-hosted docs entry point
โโโ VeloxDev.Docs.Desktop # Desktop-hosted docs entry point
๐ License
Released under the MIT License. ยฉ 2025 Axvser
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.