You must ask yourself first: What is the purpose of my project?
If you are going to create applications with beautiful 2D-3D images, you just need to learn WPF.
On the other hand, if you want to create games that require a lot of resources, XNA is the way to go.
Building applications on XNA is a big pain since XNA is built for games. The same can be said about creating games with WPF.
DirectX ( ++). () .