0

所以我们知道ItemsControl只会在其 ItemsPanel 中从上到下生成项目。如果是的话,我可以更改排序顺序并以不同的方式生成它们,这是我的实际问题。

例如,如果我ItemsControl使用 aItemTemplate和多个UIElement's 并使用 aStackPanel作为ItemsPanel我最终会得到类似的自然制表符顺序;

a. 1  2  3  4  5
b. 6  7  8  9  10
c. 11 12 13 14 15

FlowDirection预期的,我可以使用放置顺序或ItemTemplate显然得到;

a. 5  4  3  2  1
b. 10 9  8  7  6
c. 15 14 13 12 11

现在,我的问题是我怎样才能实现?(以最有效的方式)订单更像;

C. 11 12 13 14 15
B. 6  7  8  9  10
A. 1  2  3  4  5

现在,如果您在想..“呃,Shift+ Tabdummy ...”,我希望这是一个选项。要求只是使用选项卡,并以自下而上而不是自上而下的方式生成集合,并在它们处于该控件时反转选项卡顺序。尝试劫持 shift/tab 事件并以某种方式将其转换为 tab 是否明智?即使是这样,它也只能回答我的部分问题。

希望有人之前遇到过这个问题或喜欢一个有趣的问题,因此任何见解都值得赞赏。谢谢!

4

2 回答 2

0

最终继承StackPanelItemPanel. 想出来之后真是个愚蠢的解决方案,几乎为寻求帮助而感到尴尬哈哈。感谢任何可能花点时间考虑它的人。

于 2013-04-18T18:12:09.230 回答
0

我只是用 StackPanels 的 StackPanel 尝试了一个简单的例子(即没有数据绑定),看起来流向对垂直堆叠的面板没有影响(如果有 TopToBottom 或 BottomToTop 选项会很好)。

我认为您的数据模型需要(在概念上)是一个列表列表,然后您需要制作 ItemsControls 的 ItemsControl(我知道布局很痛苦,但可以做到),并且您必须订购外部向后列出,以便生成控件 C、B、A(因为 FlowDirection 在垂直方向上不做任何事情)。

于 2013-04-18T00:57:16.017 回答