PleasantUI 5.0.0-alpha2
See the version list below for details.
dotnet add package PleasantUI --version 5.0.0-alpha2
NuGet\Install-Package PleasantUI -Version 5.0.0-alpha2
<PackageReference Include="PleasantUI" Version="5.0.0-alpha2" />
paket add PleasantUI --version 5.0.0-alpha2
#r "nuget: PleasantUI, 5.0.0-alpha2"
// Install PleasantUI as a Cake Addin #addin nuget:?package=PleasantUI&version=5.0.0-alpha2&prerelease // Install PleasantUI as a Cake Tool #tool nuget:?package=PleasantUI&version=5.0.0-alpha2&prerelease
<img align="center" src="https://github.com/Onebeld/PleasantUI/assets/44552715/c8354beb-5b4b-4ce6-acbb-eb2b5e6a23e1">
PleasantUI
Pleasant UI is a graphical user interface library for Avalonia with its own controls. Previously, it was only available as part of the Regul and Regul Save Cleaner projects. This project has existed since at least 2021.
This library continues the OlibUI tradition of releasing only later versions, not the very first.
This library is mostly focused on performance, lightness, and beauty, compared to many others.
This library is fully compatible with AOT compilation, and does not need to be added to rd.xml
Getting Started
Install this library using NuGet, or copy the code to paste into your project file:
<PackageReference Include="PleasantUI" Version="4.0.1" />
Setup
For your application, add PleasantTheme to your styles:
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="YourApplication.App">
<Application.Styles>
<PleasantTheme />
</Application.Styles>
</Application>
This library automatically loads settings and saves them when the program is finished (note, for mobile projects you need to save settings manually)
Make sure that in the application class file, the XAML loader is in the overridden initialization method. Otherwise, you will get an error that the program is not initialized when you run the program.
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using YourApplication.ViewModels;
using YourApplication.Views;
namespace YourApplication;
public partial class App : Application
{
// That's exactly what you need to do, as shown below
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow
{
DataContext = new MainWindowViewModel(),
};
}
base.OnFrameworkInitializationCompleted();
}
}
Next, we need to modify the main window so that it inherits from PleasantWindow:
using PleasantUI.Controls;
namespace YourApplication.Views;
public partial class MainWindow : PleasantWindow
{
public MainWindow()
{
InitializeComponent();
}
}
Make sure that the (A)XAML file of the main window has a PleasantWindow object instead of Window:
<PleasantWindow xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="YourApplication.Views.MainWindow"
Title="Avalonia Application">
</PleasantWindow>
Done! Now you can build your applications with this library.
Screenshots
Regul Save Cleaner (WIP)
OlibKey (WIP)
Credits
- AvaloniaUI
- Some controls from PieroCastillo's Aura.UI library
- ProgressRing by ymg2006
The editors I used to create this project:
<img src="https://github.com/Onebeld/PleasantUI/assets/44552715/c6bcf430-4153-4f72-bcca-e97e5cdce491" width="360" align="right"/>
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Avalonia (>= 11.2.0)
- Avalonia.Controls.ColorPicker (>= 11.2.0)
- Avalonia.Skia (>= 11.2.0)
- CommunityToolkit.Mvvm (>= 8.3.2)
- Serilog (>= 4.1.0)
- SkiaSharp (>= 2.88.8)
- System.Text.Json (>= 8.0.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on PleasantUI:
Package | Downloads |
---|---|
PleasantUI.DataGrid
UI library for Avalonia |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
5.0.0-alpha3 | 68 | 11/4/2024 |
5.0.0-alpha2 | 64 | 11/4/2024 |
5.0.0-alpha1 | 92 | 9/20/2024 |
4.1.0-beta3 | 86 | 7/4/2024 |
4.1.0-beta2 | 93 | 6/19/2024 |
4.1.0-beta1 | 102 | 4/25/2024 |
4.0.1 | 157 | 3/27/2024 |
4.0.0 | 129 | 2/18/2024 |
4.0.0-alpha.3 | 78 | 1/29/2024 |
4.0.0-alpha.2 | 52 | 1/27/2024 |
4.0.0-alpha.1 | 118 | 1/6/2024 |
3.1.1 | 249 | 11/24/2023 |
3.1.0 | 113 | 10/8/2023 |
3.0.12 | 95 | 10/7/2023 |
3.0.11 | 148 | 10/3/2023 |
3.0.10 | 148 | 9/30/2023 |
3.0.9 | 188 | 7/26/2023 |
3.0.8 | 172 | 7/10/2023 |
3.0.7 | 166 | 7/10/2023 |
3.0.6 | 120 | 7/1/2023 |
3.0.5 | 95 | 6/27/2023 |
3.0.4 | 111 | 6/25/2023 |
3.0.3 | 105 | 6/21/2023 |
3.0.2 | 102 | 6/18/2023 |
3.0.1 | 100 | 6/16/2023 |
3.0.0 | 103 | 6/14/2023 |