![]() |
VOOZH | about |
dotnet add package Prism.DryIoc.Avalonia --version 9.0.537.11130
NuGet\Install-Package Prism.DryIoc.Avalonia -Version 9.0.537.11130
<PackageReference Include="Prism.DryIoc.Avalonia" Version="9.0.537.11130" />
<PackageVersion Include="Prism.DryIoc.Avalonia" Version="9.0.537.11130" />Directory.Packages.props
<PackageReference Include="Prism.DryIoc.Avalonia" />Project file
paket add Prism.DryIoc.Avalonia --version 9.0.537.11130
#r "nuget: Prism.DryIoc.Avalonia, 9.0.537.11130"
#:package Prism.DryIoc.Avalonia@9.0.537.11130
#addin nuget:?package=Prism.DryIoc.Avalonia&version=9.0.537.11130Install as a Cake Addin
#tool nuget:?package=Prism.DryIoc.Avalonia&version=9.0.537.11130Install as a Cake Tool
Prism.Avalonia provides your cross-platform Avalonia apps with Prism framework support so you can Navigate, create Dialog Windows and Notifications, provide Dependency Injection and internal Messaging easier than before! You will need both packages installed to get started.
Announcement!
- NEW: Official Prism.Avalonia Templates arrived!
- Prism.Avalonia v9.0.537 - Available!
- Check out the Upgrading to Prism v9.0 guide to avoid breaking changes in your apps
For more samples outside of this repo, check out:
With Prism.Avalonia's logic and development approach being similar to that of Prism for WPF, so you can get started right away! Keep in mind, they are similar and not 1-to-1. Check out our Wiki and Avalonia Outlookish app for tips and tricks.
This project currently supports cross-platform Desktop applications (Windows, Linux, Mac). Support for Android, iOS, and web apps is still under evaluation; and is not 100%. Feel free to contribute and help us improve. 😃
Just like Prism.WPF or Prism.Maui, your project must reference both the Prism.Avalonia (Core) and Prism.DryIoc.Avalonia (IoC container) packages to work.
| Package | Stable | Preview |
|---|---|---|
| Prism.Avalonia | 👁 Prism.Avalonia NuGet Badge |
👁 Prism.Avalonia NuGet Badge |
| Prism.DryIoc.Avalonia | 👁 Prism.DryIoc.Avalonia NuGet Badge |
👁 Prism.DryIoc.Avalonia NuGet Badge |
Choose the NuGet package version that matches your Avalonia version.
Our versioning schema is based on the SemVer using the format MAJOR.MINOR.PATCH.REVISION. The REVISION segment indicates the Avalonia version support. For instance v9.0.537.11234 equates to, Prism v9.0.537, Avalonia v11.2.3, revision 4.
| Prism | Avalonia | Prism.Avalonia NuGet Package |
|---|---|---|
| v9.0.537 | 11.1.3 | v9.0.537.11130 (Core) (DryIoc) |
| v9.0.401-pre | 11.1.1 | v9.0.401.11110-pre (Core) (DryIoc) |
| v9.0.401-pre | 11.0.7 | v9.0.401.11074-pre (Core) (DryIoc) |
| v9.0.271-pre | 11.0.7 | v9.0.271.11000-pre (Core) (DryIoc) |
| v8.1.97 | 11.0.7 | v8.1.97.11073 (Core) (DryIoc) |
| v8.1.97 | 0.10.21 | v8.1.97.1021 (Core) (DryIoc) |
Be sure to check out the and guides when upgrading your NuGet packages:
See also,
Prism.Avalonia is an open-source project under the MIT license. We encourage community members like yourself to contribute.
You can contribute today by creating a feature request, issue, or discussion on the forum. From there we can have a brief discussion as to where this fits into the backlog priority. If this is something that fits within the Prism architecture, we'll kindly ask you to create a Pull Request. Any PR made without first having an issue/discussion may be closed.
Issues posted without a description may be closed immediately. Use the discussion boards if you have a question, not Issues.
Add the Prism.Avalonia and its DryIoc packages to your project:
# Avalonia v11.1 - Latest Release
Install-Package Prism.Avalonia -Version 9.0.537.11130
Install-Package Prism.DryIoc.Avalonia -Version 9.0.537.11130
# Legacy: Avalonia v11.0
Install-Package Prism.Avalonia -Version 8.1.97.11073
Install-Package Prism.DryIoc.Avalonia -Version 8.1.97.11073
# Legacy: Avalonia v0.10.1021
Install-Package Prism.Avalonia -Version 8.1.97.1021
Install-Package Prism.DryIoc.Avalonia -Version 8.1.97.1021
The default Avalonia entrypoint Program.cs does not need to be modified. Below is provided as a sample.
using System;
using Avalonia;
namespace SampleBaseApp;
internal sealed class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace();
}
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SampleBaseApp.App"
xmlns:local="using:SampleBaseApp"
RequestedThemeVariant="Default">
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>
Notice:
We do not need the
OnFrameworkInitializationCompleted()method. However, you must includebase.Initialize();in theInitialize()method to kick-start Prism.Avalonia.Also, in your
App.axamlyou no longer need to device the<Design.DataContext>. Prism takes care of this for you! (:
using System;
using Avalonia;
using Avalonia.Markup.Xaml;
using Prism.DryIoc;
using Prism.Ioc;
using SampleBaseApp.Views;
namespace SampleBaseApp;
public partial class App : PrismApplication
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
base.Initialize(); // Required to initialize Prism.Avalonia - DO NOT REMOVE
}
protected override AvaloniaObject CreateShell()
{
Console.WriteLine("CreateShell()");
return Container.Resolve<MainWindow>();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
// Add Services and ViewModel registrations here
Console.WriteLine("RegisterTypes()");
// Services
//// containerRegistry.RegisterSingleton<ISampleService, ISampleService>();
// Views - Region Navigation
//// containerRegistry.RegisterForNavigation<DashboardView, DashboardViewModel>();
// Dialogs
//// containerRegistry.RegisterDialog<MessageBoxView, MessageBoxViewModel>();
//// containerRegistry.RegisterDialogWindow<CustomDialogWindow>(nameof(CustomDialogWindow));
}
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
// Register modules
//// moduleCatalog.AddModule<DummyModule.DummyModule1>();
}
Below is a basic branching hierarchy and strategy.
| Branch | Purpose |
|---|---|
master |
All releases are tagged published using the master branch |
develop |
The default & active development branch. When a feature set is completed and ready for public release, the develop branch will be merged into master and a new NuGet package will be published. |
feature/* |
New feature branch. Once completed, it is merged into develop and the branch must be deleted. |
stable/* |
Stable release base build which shares cherry-picked merges from develop. This branch must not be deleted. |
See,
See,
Sponsored by: Suess Labs a subsidary of Xeno Innovations, Inc.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 is compatible. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 3 NuGet packages that depend on Prism.DryIoc.Avalonia:
| Package | Downloads |
|---|---|
|
Abdrakov.Container.AvaloniaPrismAdapter
A lightweight container with adapter for Prism.Avalonia |
|
|
Abdrakov.Solutions.Avalonia
A powerful base for Mvvm apps with Prism |
|
|
I18N.Avalonia.Prism
Avalonia Prism Internationalization module |
Showing the top 4 popular GitHub repositories that depend on Prism.DryIoc.Avalonia:
| Repository | Stars |
|---|---|
|
yaobiao131/downkyicore
哔哩下载姬(跨平台版)downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。
|
|
|
irihitech/Ursa.Avalonia
Ursa is an enterprise level UI library for building cross-platform applications with Avalonia UI.
|
|
|
aaru-dps/Aaru
Aaru Data Preservation Suite
|
|
| qiuqiuqiu131/SukiChat.Client |
| Version | Downloads | Last Updated |
|---|---|---|
| 9.0.537.11300-pre | 1,374 | 6/1/2025 |
| 9.0.537.11130 | 9,354 | 8/24/2024 |
| 9.0.401.11110-pre | 2,947 | 8/4/2024 |
| 9.0.401.11074-pre | 245 | 7/26/2024 |
| 9.0.401.11000-pre | 442 | 4/28/2024 |
| 9.0.271.11074-pre | 293 | 4/13/2024 |
| 8.1.97.11073 | 45,339 | 4/28/2024 |
| 8.1.97.11072 | 10,624 | 1/27/2024 |
| 8.1.97.11000 | 8,139 | 7/5/2023 |
| 8.1.97.11000-rc1.1 | 928 | 6/2/2023 |
| 8.1.97.1021 | 1,567 | 6/1/2023 |
| 8.1.97.11-preview.11.8 | 252 | 5/31/2023 |
| 8.1.97.4-preview.11.5 | 643 | 2/8/2023 |
| 8.1.97.3-preview.11.4 | 272 | 2/4/2023 |
| 8.1.97.2 | 1,752 | 12/9/2022 |
| 8.1.97.1 | 482 | 12/9/2022 |
| 8.1.97 | 2,068 | 7/18/2022 |
| 7.2.0.1430 | 4,015 | 1/28/2021 |
| 7.2.0.1429 | 844 | 9/26/2020 |
| 7.2.0.1428 | 1,140 | 4/14/2020 |
* Upgraded to support Prism v9.0.537
* Upgraded to support Avalonia v11.1.3