A word of warning before we start:
WPF can and will stump you at first. The trick in learning WPF like anything new, is to push and push until you reach the infamous 'wall'. Then push some more.

Once you get the hang of declaring your UI using XAML code, it'll become second nature. It'll get to the point where you feel Windows Forms is genuinely smelly and WPF is what should have been.

********************************************************
****************SO HOW DO I MAKE MY GUI?****************
********************************************************

With that said, let's start our tutorial.

Open up Visual C# Express 2008 and create a new WPF project.

You'll be greeted by a blank Window in the design tab and some XAML code on the bottom. GUI's in WPF are declared using XML code. It's very much like XML, so if you've used it in the past, you'll be a bit more comfortable with the markup.

In a WPF application, you're generally going to proceed by using either a Grid layout, a StackPanel layout, or DockPanel layout as a base. By base, I mean as the root XAML tag. You are most likely going to combine these to get exactly what you're looking for.

There you have it, dead simple! That's the beauty of WPF. If you are getting a bit lost, do not panic. Everyone goes through this, don't give up and everything will click when you least expect it!

Now for the final bit of information on the <Grid> control.

You can use the 'Span' property to allow controls to overflow into neighboring cells. Let's take out previous example. Let's say we want our button to overflow to the next column. You would do this easily:

1. Create a button on the neccesary cells to create this pattern, 'X' marks where the button should be created, '_' marks an empty cell.

X _ X
_ X _
X _ X

2. Create a cross shape using only buttons on the required cells.

3. Make the background orange and create a two column layout. Place buttons on every row of the first column, and labels on every row of the second column. (labels act very similar to buttons, you shouldn't have problems)

4.Design a nice 2x2 grid. Have the first column be 50 wide, have the first row be 100 high. Make the background LightGreen or it will be ugly!

What you should know so far:

If you've followed this tutorial up to this part, you should know the following:
1. What a <Grid> is.
2. How declare rows and columns in your Grid.
3. How to position controls inside of your Grid.
4. How do change the width of a column; the height of a row.