<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd" -->

---
title: The Avalonia Accent System That Generates Its Own Shades
description: Setting a different color on every control is how themes become unmaintainable. In this episode I show you the new accent system I built for the Avalonia theme...
canonical: https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The Avalonia Accent System That Generates Its Own Shades | daily.dev
og:description: Setting a different color on every control is how themes become unmaintainable. In this episode I show you the new accent system I built for the Avalonia theme...
og:url: https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd
og:image: https://api.daily.dev/og/posts/k3BfnRcrd.png
og:image:alt: The Avalonia Accent System That Generates Its Own Shades
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The Avalonia Accent System That Generates Its Own Shades

**[AngelSix](https://daily.dev/sources/angelsix)** · 13 min read · 0 upvotes · 0 comments

## Summary

Setting a different color on every control is how themes become unmaintainable.
In this episode I show you the new accent system I built for the Avalonia theme — define one color once, get light, dark, hover and pressed variants automatically, and style any control with a single accent brush.

No hand-wired ResourceDictionary duplication. Full IntelliSense. Fully overridable for your own brand theme.

━━━━━━━━━━━━━━━
WHAT YOU'LL LEARN
━━━━━━━━━━━━━━━
• How the new `accent` class + `kind="primary | success | warning | destructive"` works
• The magic `accent brush` — style without hardcoding a single hex value
• How light / dark / hover / pressed variants are auto-calculated from one base color
• How the Angel Six Theme Lab source generator creates AccentKind with full IntelliSense
• How to override with your own Brand Theme and add custom accents
• How Roslyn analyzers will stop silent XAML failures and XAML inflation for good

━━━━━━━━━━━━━━━
TIMESTAMPS
━━━━━━━━━━━━━━━
00:00 — The new accent system — one color, every variant auto-generated
00:37 — Button Spinner demo — declaring accent and kind
01:27 — Clean XAML with accent brush (no hardcoded colors)
02:39 — No extra style lines — declare once, it just works
03:15 — IntelliSense for accent kinds + light/dark variants
04:21 — The magic variable: theme accent brush + source generator
05:33 — Why you need the 2-line style class include for IntelliSense
06:17 — Auto-generated XAML (begin/end generated)
06:37 — Custom Brand Theme — overriding + adding your own accents
08:10 — How to use the theme before docs land
09:43 — Data binding & MVVM — it just works
10:04 — Legacy problem: hand-wired themes that silently go out of sync
11:22 — Next step — Roslyn analyzers to automate it all
12:22 — Where accents are at + what's next (button restyle)

━━━━━━━━━━━━━━━
LINKS & RESOURCES
━━━━━━━━━━━━━━━
▶ Full Avalonia Themes Playlist: https://www.youtube.com/playlist?list=PLrW43fNmjaQVE2vDBeWD8QYIm06w6bKyO
▶ Source Code (AvaloniaThemeLab): https://github.com/angelsix/youtube/tree/develop/AvaloniaThemeLab
▶ GitHub: https://github.com/angelsix
▶ Website: https://www.angelsix.com

━━━━━━━━━━━━━━━
SERIES — Avalonia UI Theming – Hand Coded From Scratch
━━━━━━━━━━━━━━━
01 — Setup — https://www.youtube.com/watch?v=rUKlQnjU0tc
02 — Buttons | Hand Coded From Scratch — https://www.youtube.com/watch?v=oKjk6pyyARI
03 — Button Spinner | Anatomy & Internals — https://www.youtube.com/watch?v=WMaTbXkvm9g
04 — Designing a Theme System From Scratch — https://www.youtube.com/watch?v=I5halHoNfH0
05 — Checkbox Control Deep Dive — https://www.youtube.com/watch?v=uIimnwjITT0
06 — Checkbox Styling — https://www.youtube.com/watch?v=uv1bNrfCjtY
07 — Theme Engine From Scratch — https://www.youtube.com/watch?v=NXz8hwITg5U
08 — Building a Design Token System — https://www.youtube.com/watch?v=QMVdxRZqaU8
09 — One Token System for the Entire Theme — https://www.youtube.com/watch?v=JEcD1XXIiA8
10 — Avalonia Styles Not Working? You're Breaking This Rule — https://www.youtube.com/watch?v=OhJN8Ssp2hA
11 — Avalonia Just Got a Full Icon System — https://www.youtube.com/watch?v=N5HPe5GYCPo
12 — Breaking Every Avalonia Control On Purpose — https://www.youtube.com/watch?v=OmVFU-iowqI
13 — Avalonia Tool That Finds Bugs My Compiler Can't See — https://www.youtube.com/watch?v=WQB5kFJWRmc
14 — This Video — Accents (One Color That Styles Everything)

#avalonia #avaloniaui #xaml #csharp #dotnet #uiux #desktopapp #softwaretutorial #coding

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=YFQEVLaYk94>

---

Tags: [#avalonia](https://daily.dev/tags/avalonia)

[View this post on daily.dev](https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The Avalonia Accent System That Generates Its Own Shades","url":"https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd"},"datePublished":"2026-10-04T13:04:28.780Z","dateModified":"2026-10-04T22:03:06.800Z","description":"Setting a different color on every control is how themes become unmaintainable.\nIn this episode I show you the new accent system I built for the Avalonia theme...","image":"https://i.ytimg.com/vi/YFQEVLaYk94/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/YFQEVLaYk94/sddefault.jpg","isAccessibleForFree":true,"articleSection":"AngelSix","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"AngelSix","logo":"https://media.daily.dev/image/upload/s--h1ikmN_u--/f_auto,q_auto/v1791119063/logos/angelsix?_a=BAMAMicg0","url":"https://daily.dev/sources/angelsix"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-avalonia-accent-system-that-generates-its-own-shades-k3bfnrcrd","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"avalonia","timeRequired":"PT13M","video":{"@type":"VideoObject","name":"The Avalonia Accent System That Generates Its Own Shades","description":"Setting a different color on every control is how themes become unmaintainable.\nIn this episode I show you the new accent system I built for the Avalonia theme...","thumbnailUrl":"https://i.ytimg.com/vi/YFQEVLaYk94/sddefault.jpg","uploadDate":"2026-10-04T13:04:28.780Z","duration":"PT13M","url":"https://api.daily.dev/r/k3BfnRcrd","embedUrl":"https://www.youtube.com/embed/YFQEVLaYk94"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"AngelSix","item":"https://daily.dev/sources/angelsix"},{"@type":"ListItem","position":3,"name":"The Avalonia Accent System That Generates Its Own Shades"}]}
```

