Oakrey.Applications.Resources.Modern 2.1.2

dotnet add package Oakrey.Applications.Resources.Modern --version 2.1.2
                    
NuGet\Install-Package Oakrey.Applications.Resources.Modern -Version 2.1.2
                    
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="Oakrey.Applications.Resources.Modern" Version="2.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Oakrey.Applications.Resources.Modern" Version="2.1.2" />
                    
Directory.Packages.props
<PackageReference Include="Oakrey.Applications.Resources.Modern" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Oakrey.Applications.Resources.Modern --version 2.1.2
                    
#r "nuget: Oakrey.Applications.Resources.Modern, 2.1.2"
                    
#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.
#:package Oakrey.Applications.Resources.Modern@2.1.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Oakrey.Applications.Resources.Modern&version=2.1.2
                    
Install as a Cake Addin
#tool nuget:?package=Oakrey.Applications.Resources.Modern&version=2.1.2
                    
Install as a Cake Tool

Oakrey.Applications.Resources.Modern

A WPF XAML resource library that provides centralized ResourceDictionary management with dark-themed control styles, predefined colour palettes, frozen brush sets, and scalable vector icons for consistent modern UI design.

  • Package: Oakrey.Applications.Resources.Modern
  • Target framework: .NET 10 (Windows / WPF)
  • License: MIT

Main features

  • Single entry-point Resources.xaml that merges all sub-dictionaries in the correct order.
  • Default implicit styles for 14 WPF controls (see list below).
  • Two built-in dark colour palette themes: DarkOakreyColours.xaml and DarkSkodaColours.xaml.
  • Frozen SolidColorBrush resources for optimal rendering performance.
  • Named DrawingImage icon set backed by path geometry (IconGeometry.xaml, Paths.xaml).
  • Utility styles: FocusVisual, InvisibleHeaderStyle, LeftHeaderStyle, LogViewerStyle.

Project structure

Resources/
  Resources.xaml                  # Entry point - merges all dictionaries
  Colours.xaml                    # Base colour tokens
  Brushes.xaml                    # Frozen SolidColorBrush set
  DarkOakreyColours.xaml          # Oakrey dark theme palette + brushes
  DarkOakreyOpaqueColours.xaml    # Opaque variant of the Oakrey palette
  DarkSkodaColours.xaml           # Skoda dark theme palette + brushes
  DarkEntryColours.xaml           # Colour overrides for entry controls
  Paths.xaml                      # Raw path geometry data
  IconGeometry.xaml               # GeometryDrawing definitions
  Icons.xaml                      # DrawingImage icon resources
  Resources.Buttons.xaml
  Resources.CheckBox.xaml
  Resources.ComboBox.xaml
  Resources.ContextMenu.xaml
  Resources.DataGrid.xaml
  Resources.DatePicker.xaml
  Resources.Expander.xaml
  Resources.GroupBox.xaml
  Resources.Label.xaml
  Resources.ListBox.xaml
  Resources.ListView.xaml
  Resources.RadioButton.xaml
  Resources.ScrollBar.xaml
  Resources.Slider.xaml
  Resources.TextBlock.xaml
  Resources.TextBox.xaml
  Resources.ToolBar.xaml
  Resources.TreeView.xaml

Requirements

  • .NET 10 or higher
  • Windows (WPF)

Installation

.NET CLI

dotnet add package Oakrey.Applications.Resources.Modern

Package Manager Console

Install-Package Oakrey.Applications.Resources.Modern

NuGet Package Manager

  1. Open Visual Studio.
  2. Navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution.
  3. Search for Oakrey.Applications.Resources.Modern and click Install.

Usage

Applying all resources globally

Merge Resources.xaml into your application's App.xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/Oakrey.Applications.Resources.Modern;component/Resources.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

All implicit control styles are applied automatically once the dictionary is merged.

Applying a specific theme palette

To use one of the built-in dark palettes instead of the base Colours.xaml, merge the desired theme before Brushes.xaml and the control style dictionaries:

<ResourceDictionary Source="pack://application:,,,/Oakrey.Applications.Resources.Modern;component/DarkOakreyColours.xaml"/>

Available palettes:

File Accent colour
DarkOakreyColours.xaml Blue #FC A900
DarkSkodaColours.xaml Green #4B A92E

Using icons

Icons are exposed as DrawingImage resources and can be bound directly to Image.Source:

<Image Source="{StaticResource IconSettings}" Width="24" Height="24"/>

Named brush keys

The following semantic brush keys are defined by both dark palette files and can be used with StaticResource or DynamicResource:

Key Purpose
ForeColourBrush Primary foreground text
ForeDisabledColourBrush Disabled foreground
BackgroundMainBrush Window / panel background
BackgroundSecondaryBrush Secondary surface
ComponentMainBrush Control background (normal)
ComponentSecondaryBrush Control background (secondary)
ComponentDisabledBrush Control background (disabled)
ComponentTertiaryBrush Control background (hover)
AccentColourBrush Primary accent / highlight
ComponentSelectedBrush Selected item indicator

Architecture

graph TD
    App_xaml["App.xaml"] --> Resources_xaml["Resources.xaml (entry point)"]
    Resources_xaml --> Colours["Colours.xaml"]
    Resources_xaml --> Brushes["Brushes.xaml"]
    Resources_xaml --> Icons["Icons.xaml"]
    Resources_xaml --> Controls["Control style dictionaries (x14)"]
    Icons --> Paths["Paths.xaml"]
    Icons --> IconGeometry["IconGeometry.xaml"]
    Brushes --> Colours
    ThemeOverride["Theme palette (optional)\nDarkOakreyColours / DarkSkodaColours"] -. "merged before Resources.xaml" .-> App_xaml

Control style files provide implicit default styles; they override nothing outside their declared TargetType. All brushes are frozen at declaration time using PresentationOptions:Freeze="True" for rendering performance.


Development notes

  • To add a new theme palette, create a new ResourceDictionary that defines the standard semantic colour and brush keys listed in the brush key table above. No changes to Resources.xaml are required.
  • Icon geometry is defined in IconGeometry.xaml using GeometryDrawing. Add new entries there and expose them as DrawingImage in Icons.xaml.
  • All colour values are defined as Color resources; brushes are derived from them. Avoid hard-coding colour values in control style files.

Project information

Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Oakrey.Applications.Resources.Modern:

Package Downloads
Oakrey.Applications.UI

WPF UI library providing a DarkWindow base class with native DWM Mica and Acrylic backdrops, a TabbedWindow with animated page transitions and Windows light/dark theme detection, a notification bar service, and severity-typed message box and prompt dialogs.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.2 152 5/15/2026
2.1.1 131 3/13/2026
2.1.0 156 2/10/2026
2.0.1 126 1/16/2026
2.0.0 448 11/18/2025
1.3.0 242 10/8/2025
1.2.1 254 9/29/2025
1.2.0 208 9/26/2025
1.1.0 217 9/24/2025
1.0.0 378 4/17/2025