Смотрите этот контейнер, где у меня есть два элемента. Я хочу, чтобы они были равномерно распределены, , как если бы я использовал justify-content: space-between
(или space-around
) в HTML flexbox .
<StackPanel Margin="10" Orientation="Horizontal">
<ComboBox DockPanel.Dock="Left" SelectedIndex="0" Padding="6">
<ComboBoxItem Content="Info"/>
</ComboBox>
<Ellipse DockPanel.Dock="Right" Width="20" Height="20" Fill="Red"/>
</StackPanel>
Для этого конкретного случая, где Я хочу, чтобы они были на любом краю контейнера, я справился с обходом, используя DockPanel
.
<DockPanel Margin="10" LastChildFill="False">
<ComboBox DockPanel.Dock="Left" SelectedIndex="0" Padding="6">
<ComboBoxItem Content="Info"/>
</ComboBox>
<Ellipse DockPanel.Dock="Right" Width="20" Height="20" Fill="Red"/>
</DockPanel>
Однако, это определенно обходной путь; если бы у меня было какое-то динамическое число элементов c, которое я хотел бы равномерно распределить, это не сработало бы. это может растянуться, чтобы разделить ширину своего контейнера. Но есть ли более простой способ установить одинаковый интервал?
Использование Margin
или Padding
для отдельных элементов недопустимо. Неприемлемо !!!!!