Почему бы не использовать сетку с тремя границами?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Background="Blue" Grid.Column="0" MinWidth="50" CornerRadius="10,0,0,10" BorderBrush="LimeGreen" BorderThickness="2,2,0,2"/>
<Border Background="Red" Grid.Column="1" BorderBrush="LimeGreen" BorderThickness="0,2"/>
<Border Background="Blue" Grid.Column="2" MinWidth="50" CornerRadius="0,10,10,00" BorderThickness="0,2,2,2" BorderBrush="LimeGreen"/>
</Grid>
Также вы можете обернуть сетку в рамку:
<Border CornerRadius="10" BorderThickness="1" Background="Blue" BorderBrush="Red">
<Grid Background="Green" Margin="20,0"/>
</Border>
Не зная больше о том, что нужно, трудно сказать, какой из них правильный ответ. (Если вы делаете сумасшедшие вещи с обтравочными контурами или интересными формами, первое решение может быть проще.)