c# - 我应该使用单个 DataGrid、多个 DataGrid 还是完全不同的东西?

标签 c# wpf datagrid

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

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

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

谢谢。

最佳答案

我根本不会使用任何类型的 DataGrid,只使用带有 WrapPanel 的 ListView内容呈现器和定义良好的 ItemsTemplate。

这是一个让您入门的示例样式:

<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>

关于c# - 我应该使用单个 DataGrid、多个 DataGrid 还是完全不同的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390162/

相关文章:

c# - 在WPF复选框列表中设置焦点

c# - 如何将 X 按钮绑定(bind)到窗口的关闭按钮

c# - 隐藏 WPF DataGrid 行错误

compact-framework - 使用 Compact Framework 在数据网格中显示图像

apache-flex - Flex DataGrid - 如何查找列中的最大值?

c# - Google页面排名检查Asp.Net脚本

c# - Azure Blob 容器线程安全吗?

c# - NancyFX/Linux/Mono - 大型上传(超过 1MB)适用于 Windows 服务器,但不适用于 Linux

c# - 使用带有 jquery.validate.unobtrusive.js 的 asp.net mvc3 来验证表单和 changebutton

WPF 横向 DataGrid