ItemsControl(虚拟化足球赛道信息)

时间:2011-10-11 11:04:51

标签: wpf overlay itemscontrol offset scrollable

2 个答案:

答案 0 :(得分:0)

我建议对数据项及其虚拟化的布局对齐,你必须分析WPF下所有项目控件提供的严格选项......

  1. ItemsControl UniformGridItemsPanel
  2. 带有透明选择画笔的
  3. ListBox(使其看起来像项目控件)提供了固有的虚拟化。
  4. ListView提供了GridView和虚拟化的对齐布局。
  5. WPF DataGrid可用于更好的选项,例如列/行虚拟化,排序等......
  6. 但是,您可以在4.0之前的版本中实施虚拟化ItemsControlhttp://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