2

我有一组我们称之为 People 的对象,每个对象由 Name、ID 和 Time 字符串组成。这些人必须显示在类似于固定数量的行和 9 列的网格上。这个想法是将人员作为行添加到网格左侧的第 1、2 和 3 列。一旦最后一行被填充,后续行将添加到第 4、5 列组的“顶部”和6 在“包装”效果。在该分组填满后,使用最后一组 7、8 和 9。

我正在尝试决定是使用单个 DataGrid 来执行此操作,还是使用三个单独的 DataGrid。数据将每隔几秒钟更新一次,因此性能是一个问题。但是,我主要关心的是哪种方法更容易实施。是否有具有这种“包装”功能的第三方网格控件?

这是一个使用 WPF 的 C# 应用程序。

谢谢你。

4

1 回答 1

1

我根本不会使用任何类型的 DataGrid,只使用带有WrapPanel内容演示器和定义明确的 ItemsTemplate 的 ListView。

这是一个示例样式,可帮助您入门:

<Style TargetType="{x:Type ListView}">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate>
          <ScrollViewer Margin="{TemplateBinding Padding}">
            <WrapPanel ItemWidth="150" IsItemsHost="True" MinWidth="100"
                       Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}">
            </WrapPanel>
          </ScrollViewer>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>
于 2012-04-30T20:34:00.000 回答