我应该使用单个DataGrid,多个DataGrids还是完全不同的东西?

时间:2012-04-30 20:30:22

标签: c# wpf datagrid

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

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

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

谢谢。

1 个答案:

答案 0 :(得分: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>