我期待显示表格数据(TV信道),但与选项,如数据网格/ UniformGrid /使用的FlowDocument /等表。 我想不出什么会是最好的选择。 主要的问题是,细胞大小不均匀,因为它变化的基础上的时间长了,我希望把他们之间的填充为好。 此外,我只需要能够显示该表的一部分,并让他们翻/下/左查看休息。
什么是最好的WPF控制选项的呢? 下面是我要为一个小例证。 在左上角的白色正方形是我想要的东西,在开始进行显示,并让他们滚动到它的其余部分。
我期待显示表格数据(TV信道),但与选项,如数据网格/ UniformGrid /使用的FlowDocument /等表。 我想不出什么会是最好的选择。 主要的问题是,细胞大小不均匀,因为它变化的基础上的时间长了,我希望把他们之间的填充为好。 此外,我只需要能够显示该表的一部分,并让他们翻/下/左查看休息。
什么是最好的WPF控制选项的呢? 下面是我要为一个小例证。 在左上角的白色正方形是我想要的东西,在开始进行显示,并让他们滚动到它的其余部分。
有几种方式来完成你想在这里做什么。 如果性能是不是一个问题,那么我会忽略虚拟化和尝试DockPanel
的缺点在这里,你将不得不为了添加项目,而不是按照行添加。
另一种选择是使用两个堆叠板(每个方向上一个)。 这解决了添加问题,但需要使用更多的面板。
前面的两个两个选项需要个别项目有自己的高度/宽度集。
最后一个选择(取决于您的网格有多大),是使用固定大小的行和列的网格,跨行(使用项目ROWSPAN属性)。 这种方法的缺点是,我不知道有什么好方法来创建XAML的行/列的数目不详这种控制,所以你必须在代码中创建它让行/列的需要数量。
如果您有性能问题,你可以尝试使用VirtualizingStackPanel 。 如果这还不能满足您的性能需求,那么你将需要继承VirtualizingPanel
和定制以满足您的特定需求。
见这里的上面板性能的更多信息。
我建议您尝试这两个StackPanel
第一种方法,那么VirtualizingStackPanel
方法,最后,如果还是不行,请尝试VirtualizingPanel
填充是很容易通过设置完成Margin
上的每个子控件属性。
滚动使用ScrollViewer