Вы можете использовать панель Grid. Например:
<Border>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.97*"/>
<ColumnDefinition Width="0.03*"/>
</Grid.ColumnDefinitions>
<Button Content="97%"/>
<Border Grid.Column="1" Background="Green">
</Border>
</Grid>
</Border>
Сетка будет занимать 100% размера доступной границы. Первый столбец будет использовать 97%. А остальные 3% отданы границе во втором столбце.
Надеюсь, это поможет.
Ура, Анвака