答案 0 :(得分:0)
我建议对数据项及其虚拟化的布局对齐,你必须分析WPF下所有项目控件提供的严格选项......
ItemsControl
UniformGrid
为ItemsPanel
。ListBox
(使其看起来像项目控件)提供了固有的虚拟化。ListView
提供了GridView
和虚拟化的对齐布局。DataGrid
可用于更好的选项,例如列/行虚拟化,排序等...... ItemsControl
,http://omniscientist.net:8081/efficientlargedatasets 答案 1 :(得分:0)
首先我要说的是我对足球一无所知,所以如果我理解你错误地原谅了我。
首先,ItemsControl
实际上会封装ContentPresenter中的每个项目,因此无法调整DataTemplate
项目的定位。如果您想更改商品的位置,则需要使用ItemContainerStyle
(例如,请参阅here)
由于您希望定位数据的方式,我会尝试将Grid.Row / Grid.Column属性添加到Play
类,并找出后面代码中的内容。然后,您可以根据Plays
列表中的行数/列数,将ItemsControl绘制为具有列/行的网格,并将每个项目放在适当的单元格中。 (我有一个使用附加属性定义Grid.Rows / Columns here的示例,虽然我认为他们需要进行一些小修改才能成为绑定值...需要将Grid
更改为{{1}并将GridHelpers
更改为Register
)
要滚动ItemsControl,您可以将其包装在RegisterAttached
中。如果您希望虚拟化ItemsControl,请查看this question