因此,众所周知, ItemsControl只会在其ItemsPanel中自上而下生成Items。 是的,我可以更改排序顺序并以不同的方式生成它们,这是我的实际问题。

如果我有一个使用带有多个UIElementItemTemplateItemsControl ,并且使用了例如StackPanel作为ItemsPanel我最终会得到类似以下内容的自然制表顺序:

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

可以预期,我可以使用ItemTemplate上的放置顺序或FlowDirection来获得;

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 + Tab虚拟...”我希望这是一个选择。 要求只是使用制表符,然后以从下至上而不是从上至下的顺序生成集合,并在它们处于该控件中时使制表符顺序相反。 尝试劫持shift / tab事件并以某种方式将其转换为tab是明智的吗? 即使是这种情况,它也只能回答我的部分问题。

希望有人以前遇到过这个问题或喜欢一个有趣的问题,以便对任何见识表示赞赏。 谢谢!

===============>>#1 票数:0

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

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

===============>>#2 票数:0 已采纳

最终从StackPanel继承,然后自定义将其反转为ItemPanel 在被弄明白要寻求帮助哈哈之后几乎感到尴尬了。 谢谢那些可能花了一点时间考虑的人。

  ask by Chris W. translate from so

未解决问题?本站智能推荐: