7 wpf epg .net-4.0 wpf-controls
我希望显示表格数据(电视频道),但使用DataGrid/UniformGrid/Table和FlowDocument /等选项.我无法弄清楚什么是最好的选择.主要问题是细胞的大小不均匀,因为它根据时间长短而变化,我想在它们之间加上填充物.另外,我只需要能够显示表格的一部分,并允许它们向上/向下/向右滚动以查看其余部分.
什么是最好的WPF控制选项?这是我想要的一个小例子.左上角的白色方块是我想要在开始时显示的,并允许它们滚动到其余部分.

有多种方法可以完成您在这里尝试做的事情。如果性能不是问题,那么我会忽略虚拟化并尝试。DockPanel 这里的缺点是您必须按顺序添加项目,而不是按行添加它们。
另一种选择是使用两个堆叠面板(每个方向一个)。这解决了添加问题,但需要使用更多面板。
前两个选项都需要单独的项目设置其高度/宽度。
最后一个选项(取决于网格的大小)是使用具有固定大小的行和列的网格,其中的项目跨越行(使用rowspan属性)。此方法的缺点是,我不知道有什么好方法可以在 xaml 中为未指定的行/列数创建此控件,因此您必须在代码中创建它才能获取所需的行/列数。
如果您遇到性能问题,可以尝试使用VirtualizingStackPanel。如果这仍然不能满足您的性能要求,那么您将需要对其进行子类化VirtualizingPanel并对其进行定制以满足您的特定需求。
有关面板性能的更多信息,请参阅此处。
StackPanel我建议先尝试两种方法,然后VirtualizingStackPanel再尝试方法,最后如果不行,再尝试方法VirtualizingPanel
Margin通过设置每个子控件的属性可以轻松完成填充。
对于滚动,请使用ScrollViewer
| 归档时间: |
|
| 查看次数: |
1582 次 |
| 最近记录: |