A: 

What sort of Control are you using for the TabItem.Header property? If you are simply using a Label, are you specifying the width of the Label to some common value? If the Label is sizing to content then it will appear as you have shown. Try the following with a common width for the labels used to display the header text:

<TabControl TabStripPlacement="Left" >
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test tab 1</Label>
        </TabItem.Header>
        <TabItem.Content>
            xyz
        </TabItem.Content>
    </TabItem>
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test t2</Label>
        </TabItem.Header>
        <TabItem.Content>
            abc
        </TabItem.Content>
    </TabItem>
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test tab three</Label>
        </TabItem.Header>
        <TabItem.Content>
            abc
        </TabItem.Content>
    </TabItem>
</TabControl>
Simon Fox
+2  A: 

The following will give you the look you are after.

    <TabControl TabStripPlacement="Left" HorizontalContentAlignment="Left" >
        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 1">
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>

        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 2"  >
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>

        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header Longer Version">
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>
    </TabControl>
Reed Copsey
That won't give the result he is looking for in the provided screen shot...
Simon Fox
I just tested, and came up with something with the correct look.
Reed Copsey
Yep, this does the trick. Thanks!
DanM
+2  A: 

You can define the horizontal alignment for all tab headers :

<TabControl...>
    <TabControl.ItemContainerStyle>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="HorizontalAlignment" Value="Left"/>
        </Style>
    </TabControl.ItemContainerStyle>
    ...
</TabControl>
Thomas Levesque
Good idea, but doesn't quite work. I edited my question to show what this does.
DanM
But +1 for the idea of setting the `ItemContainerStyle`...saves a lot of markup. See my second edit.
DanM