WPF is definately worth the time spent learning it. Been using WPF for 2 years now, and won't touch winforms again, unless I port my apps to mono.. and even then i'd rather go silverlight.
Topics you need to know / read up on:
Dependency Properties
- Crucial for databinding
- Know how they get their values... a dependency property is basically a lookup on a few different sources, in an order of priority.
Data Binding
- The most powerful aspect to WPF in my opinion. This deserves most of your time.
If you are into graphics drawing... then definately look into Visuals
The retained Graphics system (vs GDI's immediate graphics)
Dependency Injection and Inversion of Control (WPF is suited well to this.. and the major framework (PRISM) uses this approach)
Layout panels
- StackPanel vs Grid vs WrapPanel etc
Control Templates
- You can change the structure of a control very quickly with control templates
Resourcing and styling
- You need to get this right if you want to theme an application properly
Transforms
- Render and layout transforms will help you do things like rotate objects etc
Animation and Clocks
- Very easy to learn the basics, and useful for adding interactivity to an application.
If you want good guidence... the PRISM framework is the way to go. It's classic MVVM and works very well in WPF.
Beware... it's a steep learning curve and can take a while to "get it". It's quite a departure from the winforms mindset. Well worth it though... and it'll help when you want to jump into silverlight.
A good book that I read 2 years back was Sams Windows Presentation Foundation Unleashed. There's a lot of new stuff out now, but everything in that book is still relevent.
On another note... if you start playing with WPF... do your reading up front into the concepts and class hierarchy. If you don't, you'll stumble around in the dark just getting the small things right. MSDN is your friend and document the classes very well. Lot's of concepts explained very well there too.
You might also want to follow Josh Smith's blog. He's got a lot of stuff on code project as well.
nJoy