Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 大型静态对象列表的哪个数据绑定选项?_C#_Wpf_Data Binding - Fatal编程技术网

C# 大型静态对象列表的哪个数据绑定选项?

C# 大型静态对象列表的哪个数据绑定选项?,c#,wpf,data-binding,C#,Wpf,Data Binding,我是WPF的新手,对其强大的数据绑定功能感到惊讶。然而,在阅读了大量的文章之后,我不确定我的项目应该使用哪个选项 =========== 项目详细信息(包括查看本地存储的tweet存档): 这些数据由本地存储的Twitter推文组成——超过17000条推文以JSON格式存储在一个文件中(项目不使用或不需要互联网连接) 我使用JSON.Net解析文件中的JSON,每个tweet的几十个JSON名称/值对被分配到一个tweet对象列表(将每个tweet的JSON数据转换为一个tweet对象) 我的

我是WPF的新手,对其强大的数据绑定功能感到惊讶。然而,在阅读了大量的文章之后,我不确定我的项目应该使用哪个选项

=========== 项目详细信息(包括查看本地存储的tweet存档):

  • 这些数据由本地存储的Twitter推文组成——超过17000条推文以JSON格式存储在一个文件中(项目不使用或不需要互联网连接)

  • 我使用JSON.Net解析文件中的JSON,每个tweet的几十个JSON名称/值对被分配到一个tweet对象列表(将每个tweet的JSON数据转换为一个tweet对象)

  • 我的程序将使用两个控件来显示数据

WPF控件#1(类似于电子表格):以网格模式和文本格式以行的形式显示每条推文(将有17000多行数据)。由于有几十个字段,用户可以选择在有限数量的可见列(例如日期、发件人、文本等)中显示哪些字段(5个左右)。用户可以搜索(通过Linq)、排序和选择推文行

WPF control#2:以与Twitter相同的格式/外观显示在control#1中选择的每条tweet(例如,漂亮的颜色、基本文本、链接等。在一个小矩形中-Twitter发布了tweet显示方式的标准)。如果在控件#1中未选择任何tweets,则它将通过滚动显示所有17000多条tweets

绑定:当用户选择控件#1中的推文行时,控件#2会立即更新,以漂亮的图形格式显示选定的推文,反之亦然(即,控件#2中的选择推文显示控件#1中选定的推文数据)。还有一个日历用于选择日期,这将导致相关推文显示在控件1和控件2中

我正在考虑使用CollectionViewSource进行控制#1,但是,这似乎不正确,因为用户从不删除推文或将推文添加到推文对象列表中。然而,试图滚动、排序并保持一切运行平稳,有17000多个数据行,并绑定到control#2中显示的tweets,这对于其他选项来说可能太难处理了(我确实理解一些选项在必要时是虚拟的)。也许DataGrid是一条出路

==== 问题:WPF控件1和2应该使用什么?

控件#1的选项包括:CollectionViewSource、DataGrid、ListView、ListBox

控制选项#2包括:?列表框来承载图像


感谢您的时间、考虑和帮助

如果不进行编辑,则转到ListView GridView(支持列)并绑定到列表(现在列表可能是LINQ的动态输出,但仍然是列表)。CollectionViewSource实际上不是关于编辑的,而是关于过滤和排序的,如果要使用LINQ,那么为什么要将CollectionViewSource放在图片中呢。多主A主B和B主A有点离谱-也许重新思考一下这个逻辑。通过虚拟化,可以发送17000条推文

如果不进行编辑,则转到ListView GridView(支持列)并绑定到列表(现在列表可能是LINQ的动态输出,但仍然是列表)。CollectionViewSource实际上不是关于编辑的,而是关于过滤和排序的,如果要使用LINQ,那么为什么要将CollectionViewSource放在图片中呢。多主A主B和B主A有点离谱-也许重新思考一下这个逻辑。通过虚拟化,可以发送17000条推文