【问题标题】:WPF: ColumnSpan in UniformGridWPF:统一网格中的列跨度
【发布时间】:2017-07-25 09:39:02
【问题描述】:

我知道 UniformGrid 没有附加属性 ColumnSpanRowSpan。但我真正需要的是具有固定宽度的容器和具有固定宽度的内部单元格,除了少数 UIElements,应该填充几个单元格。 例如:

<UniformGrid Columns="4">   <TextBlock>1</TextBlock>
<TextBlock>2</TextBlock>
<TextBlock Grid.ColumnSpan="2">34</TextBlock>

UniformGrid 对我来说是理想的,除了这种情况:最后一个 TextBlock 没有填充两个单元格。 是否可以使用其他解决方案来提供所需的结果? 感谢您的建议!

P.S.And...为什么 XAML 解析器在处理此标记时不会因错误而停止?

【问题讨论】:

  • 附言:您可以随时在任何元素上设置Grid.ColumnSpan(以及所有其他附加属性)。当元素的父元素不是 Grid 时,它就不起作用。

标签: wpf xaml layout uniformgrid


【解决方案1】:

您可以使用具有不同 * 宽度的列的 Grid:

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="2*" />
  </Grid.ColumnDefinitions>

  <TextBlock>1</TextBlock>
  <TextBlock Grid.Column="1">2</TextBlock>
  <TextBlock Grid.Column="2">34</TextBlock>
</Grid>

【讨论】:

    【解决方案2】:

    我只想使用 XAML,但现在我还没有找到答案。因此,我使用了以下解决方案:将所有元素放在水平 WrapPanel 中,并为代码中的每个元素设置宽度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多