VaraniumSharp.WinUI
8.2.3
dotnet add package VaraniumSharp.WinUI --version 8.2.3
NuGet\Install-Package VaraniumSharp.WinUI -Version 8.2.3
<PackageReference Include="VaraniumSharp.WinUI" Version="8.2.3" />
paket add VaraniumSharp.WinUI --version 8.2.3
#r "nuget: VaraniumSharp.WinUI, 8.2.3"
// Install VaraniumSharp.WinUI as a Cake Addin #addin nuget:?package=VaraniumSharp.WinUI&version=8.2.3 // Install VaraniumSharp.WinUI as a Cake Tool #tool nuget:?package=VaraniumSharp.WinUI&version=8.2.3
VaraniumSharp.WinUI
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
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows10.0.19041 is compatible. |
-
net8.0-windows10.0.19041
- CommunityToolkit.WinUI.UI (>= 7.1.2)
- Microsoft.WindowsAppSDK (>= 1.5.240627000)
- System.Text.Json (>= 8.0.4)
- VaraniumSharp (>= 5.3.0)
- VaraniumSharp.DryIoc (>= 1.4.1)
- WinUIEx (>= 2.3.4)
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.3 | 114 | 8/6/2024 |
8.2.1 | 147 | 4/13/2024 |
8.2.0 | 122 | 4/12/2024 |
8.1.1 | 112 | 1/24/2024 |
8.1.0 | 107 | 1/22/2024 |
8.0.0 | 122 | 1/17/2024 |
7.3.1 | 102 | 1/16/2024 |
7.3.0 | 210 | 7/28/2023 |
7.2.0 | 173 | 5/31/2023 |
7.0.1 | 327 | 1/30/2023 |
7.0.0 | 328 | 1/29/2023 |
6.1.7 | 380 | 12/4/2022 |
6.1.6 | 369 | 12/1/2022 |
6.1.4 | 356 | 11/29/2022 |
6.1.3 | 374 | 11/28/2022 |
6.1.2 | 355 | 11/28/2022 |
6.1.1 | 463 | 10/1/2022 |
6.1.0 | 475 | 9/25/2022 |
6.0.2 | 457 | 9/9/2022 |
5.0.0 | 488 | 6/5/2022 |
4.1.2 | 491 | 6/2/2022 |
4.0.2 | 373 | 12/9/2021 |
4.0.1 | 337 | 12/8/2021 |
4.0.0 | 344 | 12/8/2021 |
3.0.6 | 614 | 12/6/2021 |
3.0.5 | 681 | 12/6/2021 |
3.0.2 | 329 | 12/4/2021 |
3.0.0 | 1,124 | 11/20/2021 |
2.0.0 | 389 | 11/15/2021 |
1.9.0 | 177 | 11/4/2021 |
1.8.0 | 211 | 9/18/2021 |
1.6.1 | 191 | 9/15/2021 |
1.6.0 | 192 | 9/13/2021 |
1.5.0 | 220 | 9/10/2021 |
1.4.5 | 170 | 8/26/2021 |
1.4.3 | 178 | 8/26/2021 |
1.3.5 | 173 | 8/22/2021 |
1.0.4 | 211 | 7/27/2021 |
1.0.3 | 216 | 7/27/2021 |