Darkraise.WpfEx
1.0.1
dotnet add package Darkraise.WpfEx --version 1.0.1
NuGet\Install-Package Darkraise.WpfEx -Version 1.0.1
<PackageReference Include="Darkraise.WpfEx" Version="1.0.1" />
<PackageVersion Include="Darkraise.WpfEx" Version="1.0.1" />
<PackageReference Include="Darkraise.WpfEx" />
paket add Darkraise.WpfEx --version 1.0.1
#r "nuget: Darkraise.WpfEx, 1.0.1"
#:package Darkraise.WpfEx@1.0.1
#addin nuget:?package=Darkraise.WpfEx&version=1.0.1
#tool nuget:?package=Darkraise.WpfEx&version=1.0.1
Darkraise.WpfEx
A WPF application layer for the Darkraise Framework: custom MVVM,
runtime light/dark theming with accent presets, themed styles for the standard controls, dialogs, and a large icon set.
Zero third-party dependencies — it builds on WPF and the core Darkraise library only.
dotnet add package Darkraise.WpfEx
Highlights
- MVVM without ceremony —
DarkraiseApplicationwires the DI container, scans for view models and resolves views by convention (FooViewModel→FooView). Screens get lifecycle hooks,Resolve<T>(), a logger, dialogs andIsBusy. - Theming — light and dark at runtime, 15 accent presets, WCAG-aware color helpers, and a themed style for every common control.
- Icons —
DarkraiseIconexposes roughly 1900 Lucide icons byIconKind, with fill, stroke width and custom geometry support. - Dialogs —
IDialogServicewith message, error, confirmation and multi-button dialogs, usable straight from a view model. - View model bases — list, editor, collection and pagination bases, with editor and delete-confirmation flows already wired to the dialog service.
- Extras —
Animate(spin, bounce, pulse, ping),HotKeyTextBox,NumericTextBox,Pagination, converters and attached-property helpers, plus a single-instanceResourceMutex.
Quick start
Apply a theme in App.xaml:
<Application.Resources>
<theming:DarkraiseThemeDictionary
xmlns:theming="clr-namespace:Darkraise.WpfEx.Theming;assembly=Darkraise.WpfEx"
Theme="Dark"
Accent="Blue" />
</Application.Resources>
Derive your application from DarkraiseApplication:
public class App : DarkraiseApplication
{
protected override void ConfigureServices(IServiceRegistry services)
{
services.AddSingleton<IMyService, MyService>();
}
}
[RootViewModel]
public class ShellViewModel : OneActiveConductor<DarkraiseScreen>
{
protected override async Task OnInitializedAsync(CancellationToken ct)
{
await ActivateItemAsync(Resolve<HomeViewModel>());
}
}
Switch themes at runtime, and use dialogs and icons from anywhere:
ThemeManager.SetTheme(AppTheme.Dark);
ThemeManager.ToggleTheme();
var confirmed = await Dialog.ShowConfirmationAsync("Delete this item?", "Confirm");
<controls:DarkraiseIcon Kind="Heart" Size="24" IsFilled="True"
xmlns:controls="clr-namespace:Darkraise.WpfEx.Controls;assembly=Darkraise.WpfEx" />
Requirements
Targets net10.0-windows with UseWPF, so consuming projects need the same:
<TargetFramework>net10.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
License
MIT. Embedded icon geometry derives from the Lucide icon set (ISC) — see THIRD-PARTY-NOTICES.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- Darkraise (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.