首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF如何设置列和行之间的UniformGrid间距

WPF如何设置列和行之间的UniformGrid间距
EN

Stack Overflow用户
提问于 2020-08-06 01:46:59
回答 1查看 190关注 0票数 0

是否可以在UniformGrid上设置列和行之间的特定间距

UniformGrid的默认行为是这样的:

代码语言:javascript
复制
<UniformGrid Columns="2" Rows="2">
    <Button Content="1"/>
    <Button Content="2"/>
    <Button Content="3"/>
    <Button Content="4"/>
</UniformGrid>

但我希望它看起来像这样:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-06 01:56:34

不,不能直接在UniformGrid中,但您可以将Margin添加到它的子项中。如果您需要为多个子项提供相同的间距,只需将它们提取到一个样式即可。对于您的示例,它将如下所示:

代码语言:javascript
复制
<UniformGrid Columns="2" Rows="2">
   <Button Content="1" Margin="0, 0, 10, 10"/>
   <Button Content="2" Margin="10, 0, 0, 10"/>
   <Button Content="3" Margin="0, 10, 10, 0"/>
   <Button Content="4" Margin="10, 10, 0, 0"/>
</UniformGrid>

通常,如果不想为每个控件定义样式,并且希望子控件的间距均匀,则可以将它们嵌套在Border中,并对其应用通用的页边距样式。

代码语言:javascript
复制
<UniformGrid Rows="1" Columns="3">
   <UniformGrid.Resources>
      <Style x:Key="BorderSpacingStyle" TargetType="{x:Type Border}">
         <Setter Property="Margin" Value="10"/>
      </Style>
   </UniformGrid.Resources>
   <Border Style="{StaticResource BorderSpacingStyle}">
      <Button Content="0"/>
   </Border>
   <Border Style="{StaticResource BorderSpacingStyle}">
      <Button Content="1"/>
   </Border>
   <Border Style="{StaticResource BorderSpacingStyle}">
      <Button Content="2"/>
   </Border>
</UniformGrid>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63270784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档