目前我正在试图建立一个控件模板的使用网格作为其ItemsPanel,其中每个项目的水平堆叠,并且具有GridSplitter分隔的一个ItemsControl。ItemsPanel VS电网VS GridSplitter
的基本目标是拥有一个动态绑定ItemsControl的所有项目在一排和其中每个项目可以用分路器来调整叠起来。
有两件事情我不能绕到我的头:在GridSplitter应该如何各项目之间自动结束?如何为每个项目设置Grid.Column。
如果不能用一个简单的控件模板做的事情是执行这样的一个共同的好办法?我需要为此编写一个新的ItemsControl吗?
我需要实际的(Grid)Splitter控件,因此可以为它们定制ControlTemplates。此外,我认为它可以非常方便地为单元格提供额外的布局功能(GridLengthUnitType,Stretch,Alignment)。
所以当我自己滚动时,我想我需要一个自定义ItemsControl(为每个项目生成分隔符)和一个自定义面板(其行为像一个onowow/onecolumn网格 - 因此不需要附加的Grid.Row, Grid.Column属性,.Orientation就足够了),可以使用Splitter控件并知道如何在布局方面处理它们。
您如何看待这种方法?是首选还是一个好方法?
我想你混合了行和列。正如我所说的,在上述情况下我想要的物品堆积,在一排(所以很多列在这里),我需要添加大量的项目列之间gridsplitters的。当然,人们可以很容易想象,垂直方向也适用同样的事情。 – bitbonk 2010-03-19 11:43:31
好的。然后切换行和列。我相应地改变了我的答案。 – 2010-03-19 15:04:41
我需要实际的(Grid)Splitter控件,以便可以为它们定制ControlTemplates。此外,我认为它可以非常方便地为单元格提供额外的布局功能(GridLengthUnitType,Stretch,Alignment)。所以我想我需要一个自定义ItemsControl(为每个项目生成分隔符)和一个自定义面板(其行为像一个onowow/onecolumn网格 - 因此不需要附加的Grid.Row,Grid.Column属性,.Orientation会足够),可以采取Splitter控制,并知道如何处理它们的布局。 – bitbonk 2010-03-20 09:16:26