StackPanel 上的填充?

发布于 2024-08-03 05:35:25 字数 89 浏览 11 评论 0原文

我正在尝试设置 StackPanel 的填充,但没有这样的属性。 我尝试了 StackPanel.Border,但也没有这样的属性。

有什么想法吗?

I am trying to set padding of a StackPanel but there ain't such property.
I tried StackPanel.Border, but there is no such property either.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

三岁铭 2024-08-10 05:35:25

您可以在 StackPanel 周围放置一个边框并在其上设置填充。我最终做了很多次,因为有许多 UIElement 没有 padding 属性。

<Border Padding="10">
    <StackPanel>
        <!--...-->
    </StackPanel>
</Border>

(注意:所有 FrameworkElement 都有一个 Margin 属性,该属性将为元素留出空间,但不包括作为 ActualWidth 一部分的边距宽度)。

如果您想在 StackPanel 内留出空间,您需要为每个子项添加边距,正如 Rob 所说。

You could put a Border around the StackPanel and set a padding on that. I end up doing this a lot, since there are many UIElements that do not have a padding property.

<Border Padding="10">
    <StackPanel>
        <!--...-->
    </StackPanel>
</Border>

(Note: all FrameworkElements have a Margin property, which will space the element, but not include the margin width as part of the ActualWidth).

If you want to space the items inside a StackPanel, you'll want to add a margin to each child as Rob said.

挽梦忆笙歌 2024-08-10 05:35:25

或者你可以做类似 TiM 的事情:

<Border>
    <StackPanel Margin="10">
        ...
    </StackPanel>
</Border>

Or you could do something similar to TiM:

<Border>
    <StackPanel Margin="10">
        ...
    </StackPanel>
</Border>
鱼窥荷 2024-08-10 05:35:25

如果您的意思是要间隔 StackPanel 的子元素(没有 Padding 属性),请参阅:如何间隔 StackPanel 的子元素?

if you mean you want to space out child elements of the StackPanel (which doesn't have a Padding property), see: How do I space out the child elements of a StackPanel?

没企图 2024-08-10 05:35:25

您可能想为面板中的项目添加边距。你会得到相同的结果,只需向后接近即可。

You'll probably want to add margin to the items in the panel instead. You'll get the same result, just have to approach it backward.

话少情深 2024-08-10 05:35:25

这是 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>

This is a variant of padding for elements of 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文