Вы можете использовать Grid
вместо DockPanel
, либо использовать выравнивания, либо создать столбцы и настроить ColumnSpan
, пример последнего:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!-- Order matters, earlier controls are at the bottom unless you use Panel.ZIndex -->
<ScrollViewer Grid.Column="0" Grid.ColumnSpan="3"/>
<Button Grid.Column="0" Content="Left"/>
<Button Grid.Column="2" Content="Right"/>
</Grid>
(DockPanelдовольно плохой элемент управления, который может быть легко заменен сеткой в каждом случае)