I've been playing around with C# console applications for about a year and I want to move on to creating GUI applications. I have never done any GUI development besides basic Java applications, but I want to continue using C#. Should I start learning Windows Forms or jump straight to WPF? Is there a huge difference? Does WPF build on top of Windows Forms or are they totally different?
If you're just starting out, jump straight into WPF.
It will allow you to get starting making Rich interfaces using markup to define your interface without teaching you the possible bad habbits (for WPF) that you'd learn from WinForms.
I don't know much about WPF. However, I have been aware of some buggy behaviour in a conference from a local .NET community such as, for example, having to go to the code to add a control to the interface. Is it still actual?
These two are totally different technologies. They do offer some interoperability layers to both directions but other than that have nothing in common. WinForms is more or less a lightweight wrapper on top of Win32/MFC, which means it's extensibility in .Net is not that good in all cases. WPF is a new UI framework implemented from scratch. WPF is also much more flexible when it comes to customizing the existing types.
However, at least from my experience, WinForms seems to be the more commonly used desktop UI framework in the industry. WinForms can't be used with web development though while WPF offers SilverLight and XBAP applications.
If you have done any UI development before, I'd dare say WinForms is easier to learn as it follows more traditional programming paradigms. The programming model of WPF is quite different to this. While WPF can be used in the same way as WinForms, most of its benefits are not achieved until you embrace the data binding and encapsulation WPF provides.
Despite stating some points in favor of WinForms choosing WPF over WinForms would be no brainer for me if all you want to do is learn an UI framework. It's superior to WinForms in all aspects. I just wish the software industry in general would adapt it on larger scale! (Though not like anyone writes desktop applications anymore since we got the web.)
WPF provides very rich facilities to build extremely complex user interfaces. It simplifies integration of a hardware-accelerated graphics in your interface. However, Visual Studio wpf designer is really bad ( i almost never use it ). I also think that WPF is much more complex, and it is more difficult to start with. But this is subjective of course.