Я пытаюсь установить дополнение StackPanel, но нет такого свойства. Я попробовал StackPanel.Border, но нет такого свойства.
Любые идеи?
Я пытаюсь установить дополнение StackPanel, но нет такого свойства. Я попробовал StackPanel.Border, но нет такого свойства.
Любые идеи?
Вы можете поместить границу вокруг StackPanel и установить для нее дополнение. Я в конечном итоге делаю это много, так как существует множество UIElements, которые не имеют свойства дополнения.
<Border Padding="10">
<StackPanel>
<!--...-->
</StackPanel>
</Border>
(Примечание: все элементы FrameworkElements имеют свойство Margin, которое будет содержать элемент, но не включает ширину поля как часть ActualWidth).
Если вы хотите разместить элементы внутри StackPanel, вам нужно добавить маржу для каждого ребенка, как сказал Роб.
если вы хотите, чтобы вы выделили дочерние элементы StackPanel (который не имеет свойства Padding), см. Как я могу выделить дочерние элементы StackPanel?
Вероятно, вы захотите добавить маржу к элементам на панели. Вы получите тот же результат, просто приходите к нему назад.
Или вы можете сделать что-то похожее на TiM:
<Border>
<StackPanel Margin="10">
...
</StackPanel>
</Border>
Это вариант заполнения элементов StackPanel
<StackPanel Orientation="Horizontal" Grid.Row="2">
<StackPanel.Resources>
<Style x:Key="StackPanelPadding" TargetType="Control">
<Setter Property="Margin" Value="5,0,0,0"/>
<Setter Property="Height" Value="40"/>
</Style>
<Style BasedOn="{StaticResource StackPanelPadding}" TargetType="Button"/>
</StackPanel.Resources>
<Button/>
<Button/>
</StackPanel>
Может ли это быть маржа, которую вы ищете?