【问题标题】:How to display items in multiple rows如何在多行中显示项目
【发布时间】:2012-10-03 11:59:55
【问题描述】:

我想在 XAML 中创建如下布局

视图模型用于填充单元格。前两个单元格绑定到视图模型中的两个简单属性,而其余单元格显示视图模型中集合的项目。每行有四个单元格,行数由集合的项目数决定。 如何定义一个面板来显示从单元格 3 开始的集合并在 XAML 中跨越多行?

【问题讨论】:

  • 您不能将前两个单元格添加到集合中吗?这也许会简化解决方案。
  • 你看过 WrapPanel 吗?
  • 在我的视图模型中,它有两个字符串属性和一个用户定义对象的集合。所以它们不能合并。我还考虑了 WrapPanel,但集合的项目不会从行的第一个单元格显示。因此,如果我使用 WrapPanel,它将与前 2 个单元格重叠。
  • 是否显示用户控件列表?
  • 没有。我想在网格中显示一个 CLR 对象列表,该网格从一行中间开始并跨越多行。

标签: wpf xaml panel


【解决方案1】:

在这里,我使用 2 uniformgrid 得到你需要的东西:

<UniformGrid Columns="4"  VerticalAlignment="Top" >
   <Rectangle Fill="green" Width="50" Height="50" />
   <Rectangle Fill="green" Width="50" Height="50"/>
</UniformGrid>
<UniformGrid Columns="4"  VerticalAlignment="Top" FirstColumn="2">
   <Rectangle Fill="red"  Width="50" Height="50"/>
   <Rectangle Fill="red"  Width="50" Height="50"/>
   <Rectangle Fill="red"  Width="50" Height="50"/>
   <Rectangle Fill="red"  Width="50" Height="50"/>
</UniformGrid>

我不知道您的 ViewModel 怎么样,但我认为将您的属性和列表绑定到统一网格会非常简单。

【讨论】:

  • 太棒了!这真的是我想要的。非常感谢。
猜你喜欢
  • 2020-08-17
  • 2021-12-05
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
  • 1970-01-01
相关资源
最近更新 更多