VaraniumSharp.WinUI 8.2.1

dotnet add package VaraniumSharp.WinUI --version 8.2.1                
NuGet\Install-Package VaraniumSharp.WinUI -Version 8.2.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VaraniumSharp.WinUI" Version="8.2.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VaraniumSharp.WinUI --version 8.2.1                
#r "nuget: VaraniumSharp.WinUI, 8.2.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install VaraniumSharp.WinUI as a Cake Addin
#addin nuget:?package=VaraniumSharp.WinUI&version=8.2.1

// Install VaraniumSharp.WinUI as a Cake Tool
#tool nuget:?package=VaraniumSharp.WinUI&version=8.2.1                

VaraniumSharp.WinUI

Logo

Build status NuGet Coverage Status Bugs Code Smells Lines of Code Quality Gate Status

VaraniumSharp.WinUI is a VarniumSharp library with WinUI 3 helper classes and components. It can be used to implement certain features into a WinUI 3 project with minimal effort.

Functionality

  • Create a Window where the user can fully customize the layout and controls per tab
  • Automatic saving/loading of layouts the user configured previously
  • Multiple layout panes to assist with layout customization
  • Setting pane that can be extended easily with custom seting panes
  • Modules to assist with filtering, sorting and grouping a GridView with minimal setup
  • Drag and drop helper classes to easy the use of drag and drop functionality
  • Dialog wrappers to ease the use of WinUI dialogs
  • Bind converters
  • Sortable, filterable and groupable collections to back the sorting, filtering and grouping modules

Requirements

VaraniumSharp.WinUI relies on the attribute based dependency injection system provided by VaraniumSharp to handle the loading of it's components and to handle the customized layouts. As such a dependency injection package is required. Currently there are dependency injection packages for DryIoC and the Microsoft ServiceCollection It is easy to create a custom wrapper for your preferred package as well, simply look at the implementation of one of the above packages as a basic guide.

Basic setup

Simply create a new WinUI 3 project, add the VaraniumSharp.WinUI package and one of the above mentioned IoC packages then add the following code to your App.xaml.cs file's OnLaunched method to bootstrap the main window.

// It is required to pre-load the assemblies that are auto-injected by VaraniumSharp otherwise their injections won't be picked up
AppDomain.CurrentDomain.Load(new AssemblyName("VaraniumSharp.WinUI"));

// Set up your IoC container and request that all classes are registered
var containerSetup = new ContainerSetup();
containerSetup.RetrieveClassesRequiringRegistration(true);
containerSetup.RetrieveConcretionClassesRequiringRegistration(true);

// Resolve a TabWindow instance from the container, configure it and then activate it to display it to the user
var tabWindow = containerSetup.Resolve<TabWindow>();
tabWindow.MinWidth = 750;
tabWindow.Backdrop = new AcrylicSystemBackdrop();
m_window = tabWindow;
m_window.Activate();

Additional examples

VaraniumSharp.WinUI is designed to be easy to use, but some of the configurations are a bit counter-intuitive. To see how to handle the basic configuration a test project is included in the GitHub repository. See the test project here

Bugs, feedback, questions

Feel free to open an issue on GitHub to request further assistance.

Icon

Sprout by parkjisun from the Noun Project

Product Compatible and additional computed target framework versions.
.NET net8.0-windows10.0.19041 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.2.1 121 4/13/2024
8.2.0 98 4/12/2024
8.1.1 96 1/24/2024
8.1.0 84 1/22/2024
8.0.0 100 1/17/2024
7.3.1 94 1/16/2024
7.3.0 184 7/28/2023
7.2.0 165 5/31/2023
7.0.1 301 1/30/2023
7.0.0 311 1/29/2023
6.1.7 364 12/4/2022
6.1.6 343 12/1/2022
6.1.4 330 11/29/2022
6.1.3 350 11/28/2022
6.1.2 337 11/28/2022
6.1.1 437 10/1/2022
6.1.0 451 9/25/2022
6.0.2 431 9/9/2022
5.0.0 461 6/5/2022
4.1.2 465 6/2/2022
4.0.2 350 12/9/2021
4.0.1 330 12/8/2021
4.0.0 318 12/8/2021
3.0.6 593 12/6/2021
3.0.5 655 12/6/2021
3.0.2 303 12/4/2021
3.0.0 1,101 11/20/2021
2.0.0 364 11/15/2021
1.9.0 167 11/4/2021
1.8.0 202 9/18/2021
1.6.1 181 9/15/2021
1.6.0 181 9/13/2021
1.5.0 212 9/10/2021
1.4.5 162 8/26/2021
1.4.3 168 8/26/2021
1.3.5 164 8/22/2021
1.0.4 200 7/27/2021
1.0.3 205 7/27/2021