January 2025·3 min read
Making WPF not look like Windows XP
C#WPFUI
WPF has a reputation for ugly, dated UIs. Most WPF apps still look like they're from 2008. Here's how I make mine look modern.
Custom control templates — all of them
Every default control — buttons, sliders, scrollbars — gets a complete template override. Yes, it's verbose. Yes, it's worth it.
No system colors
Define your own palette in ResourceDictionary. Two background shades and one accent. Don't touch SystemColors.
Smooth animations on everything
WPF's Storyboard system is powerful when used right. Animate every hover and transition. This alone makes an app feel 10x more polished.
Load a modern font
Inter or JetBrains Mono. The default Segoe UI is fine but a custom font signals this isn't a stock WPF app.
Result: apps people genuinely don't believe are WPF.