For more information about dotnet new
templates see here.
Run from a command line:
dotnet new -i Avalonia.Templates
The templates should now be available in dotnet
:
Templates Short Name Language Tags
---------------------------------------------------------------------------------------------------------
Avalonia .NET Core App avalonia.app [C#],F# ui/xaml/avalonia/avaloniaui
Avalonia .NET Core MVVM App avalonia.mvvm [C#],F# ui/xaml/avalonia/avaloniaui
Avalonia Cross Platform Application avalonia.xplat [C#] ui/xaml/avalonia/avaloniaui
Avalonia Resource Dictionary avalonia.resource ui/xaml/avalonia/avaloniaui
Avalonia Styles avalonia.styles ui/xaml/avalonia/avaloniaui
Avalonia TemplatedControl avalonia.templatedcontrol [C#] ui/xaml/avalonia/avaloniaui
Avalonia UserControl avalonia.usercontrol [C#],F# ui/xaml/avalonia/avaloniaui
Avalonia Window avalonia.window [C#],F# ui/xaml/avalonia/avaloniaui
Note:
By default dotnet CLI would create a C# template,if you want to create F# template you will need to add -lang F#
to the end of the command.
MVVM is the recommended pattern for creating Avalonia applications. The MVVM application template uses ReactiveUI to ease building applications with complex interactions.
To create a new MVVM application called MyApp
in its own subdirectory, run:
dotnet new avalonia.mvvm -o MyApp
To create a new Cross-Platform application in its own subdirectory, run:
dotnet new avalonia.xplat
Note: This type of template allows you to create an application that will work on Desktop, Browser (preview) and Mobile (iOS & Android) (preview).
To create a new barebones application called MyApp
in its own subdirectory, run:
dotnet new avalonia.app -o MyApp
To create a new Window
called MyNewWindow
, in the namespace MyApp
run:
dotnet new avalonia.window -na MyApp -n MyNewWindow
To create a new UserControl
called MyNewView
, in the namespace MyApp
run:
dotnet new avalonia.usercontrol -na MyApp -n MyNewView
To create a new Styles
list called MyStyles
, run:
dotnet new avalonia.styles -n MyStyles
To create a new ResourceDictionary
called MyResources
, run:
dotnet new avalonia.resource -n MyResources