在StackPanel上填充?
我想设置一个StackPanel的填充,但没有这样的属性。 我试过StackPanel.Border,但是也没有这样的属性。
有任何想法吗?
你可以在StackPanel周围放一个边框,并在其上设置填充。 我最终做了很多,因为有很多UIElements没有填充属性。
<Border Padding="10"> <StackPanel> <!--...--> </StackPanel> </Border>
(注意:所有的FrameworkElements都有一个Margin属性,它将间隔元素,但不包括边距宽度作为ActualWidth的一部分)。
如果你想在StackPanel里面放置物品,你可以像Rob说的那样为每个孩子添加一个边距。
如果你的意思是你想要的空间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>
这可能是你正在寻找的保证金吗?