Given a really basic `Grid`, with `ColumnDefinition`'s width set to `*`, the hardcoded width attribute of the button's contained within are ignored and these child elements are clipped. They are not clipped with a width set to `Auto`.

This clipping is prevented if correct `MinWidth`s are set on each `ColumnDefinition`, but this is not exactly dynamic. 

Am I doing things wrong or is this the best WPF has to offer?

[![enter image description here](https://i.stack.imgur.com/K5G7u.png)](https://i.stack.imgur.com/K5G7u.png)

becomes

[![enter image description here](https://i.stack.imgur.com/7Q0Kk.png)](https://i.stack.imgur.com/7Q0Kk.png)

Markup: 

```
    <Grid ShowGridLines="True" ClipToBounds="False">
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
            <Button Grid.Column="0" Width="120">AAAAA</Button>
            <Button Grid.Column="1" Width="120">BBBB</Button>
            <Button Grid.Column="2" Width="120">CCCCC</Button>
    </Grid>

```

I would like the buttons to appear as per the first image when there is room, and as image three when there is none (i.e. no clipping under any circumstances).

[![enter image description here](https://i.stack.imgur.com/7HOI4.png)](https://i.stack.imgur.com/7HOI4.png)