In this WPF dark theme tutorial, I build a full light/dark mode toggle from scratch using ResourceDictionary — no MaterialDesignXAML, no libraries.
Starting from a default white WPF app, I walk through 5 steps that build the complete theming system from the ground up:
✅ Step 1: ResourceDictionary — create a Themes/Dark.xaml with 9 named SolidColorBrush tokens (the WPF equivalent of design tokens)
✅ Step 2: DynamicResource vs StaticResource — the most important distinction in WPF theming, demonstrated live with a broken toggle and a working one
✅ Step 3: Button ControlTemplate — why WPF Button ignores Background by default and how to override it with implicit styles and IsMouseOver triggers
✅ Step 4: Light.xaml + runtime toggle — same x:Key names, different colours, swapped in 3 lines of C# via MergedDictionaries
✅ Step 5: UserControls — NavItem and StatCard with DependencyProperties that respond to the theme toggle automatically
No MaterialDesign. No Bunifu. No NuGet packages. Pure XAML + C#.
All 6 step projects (Step 0–5) are free to download — open each one in Visual Studio and follow along.
WHAT YOU'LL LEARN ──────────────────────────────
• How to build a WPF dark theme without any third-party libraries
• The difference between DynamicResource and StaticResource in WPF
• How to override Button with a ControlTemplate in XAML
• How to create implicit styles that apply to all controls automatically
• How to toggle between light and dark mode at runtime in 3 lines of C#
• How to build WPF UserControls with DependencyProperties
SOURCE CODE ────────────────────────────────────
📁 https://github.com/Ron391/WPF-DarkThe...
── CHAPTERS ───────────────────────────────────────
0:00 Introduction — the toggle reveal and the WPF difference
0:55 Why not MaterialDesignXAML?
2:00 Step 1 — ResourceDictionary and 9 brush tokens
4:30 Step 2 — DynamicResource vs StaticResource
7:00 Step 3 — Button ControlTemplate and implicit styles
10:00 Step 4 — Light.xaml and the runtime toggle
12:30 Step 5 — UserControls with DependencyProperties
15:00 The reveal — dark/light toggle live
16:15 3 Takeaways + what to build next
── PREVIOUS VIDEO ─────────────────────────────────
▶ WinForms UI Redesign — Before & After: • I Redesigned the World's Ugliest WinForms ...
── NEXT VIDEOS ────────────────────────────────────
▶ WPF MVVM Pattern — Build a Real App
▶ WPF Custom Controls from Scratch
── ABOUT VECTOART ─────────────────────────────────
VectoArt is for .NET developers who want to build desktop apps that actually look good. Every video covers UI design, WinForms, WPF, and C# — no design degree required.
#WPF #CSharp #UIDesign
On this page of the site you can watch the video online WPF Dark Theme Tutorial — ResourceDictionary, Light/Dark Toggle, No Libraries with a duration of hours minute second in good quality, which was uploaded by the user VectoArt 01 January 1970, share the link with friends and acquaintances, this video has already been watched 699 times on youtube and it was liked by 26 viewers. Enjoy your viewing!