2013-04-17 1 views
0

Итак, как мы знаем, ItemsControl просто сгенерирует элементы сверху вниз в своей панели ItemsPanel. Где, как да, я могу изменить порядок сортировки и генерировать их по-разному, вот моя проблема.Обратные сгенерированные элементы и табу. Заказ предметов. Коллекция контролов

Если у меня есть ItemsControl используя ItemTemplate с несколькими UIElement «s и использовать например, StackPanel как 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 

Итак, если вы думаете .. «тьфу, сдвиг + Tab манекена ...» ну я бы это был вариант. Требование - это просто использовать вкладку и генерировать коллекцию в обратном порядке сверху вниз, а не сверху вниз, и при этом порядок вкладок отменяется, когда они находятся в этом элементе управления. Целесообразно ли пытаться захватить событие shift/tab и преобразовать его как раз в вкладку? Даже если это так, это отвечает только на мой вопрос.

Надеюсь, кто-то наткнулся на это раньше или наслаждается интересным вопросом, поэтому любое понимание продумано. Благодаря!

+0

Итак, каждый из элементов a, b и c содержит элемент ItemsControl с StackPanel, а затем 1, 2, 3, 4, 5 и т. Д. Находятся внутри StackPanel? В каком контейнере есть a, b и c? – guysherman

ответ

0

Закончено наследование от StackPanel и только пользовательское обращение за ним для ItemPanel. Было такое глупое решение после того, как выяснилось, что почти стыдно за просьбу о помощи ха-ха. Спасибо, хотя бы кому-нибудь понадобилось время, чтобы это рассмотреть.

0

Я просто попробовал простой пример с помощью StackPanel StackPanels (то есть без привязки данных), и кажется, что направление потока не влияет на вертикально сложенные панели (было бы неплохо, если бы была опция TopToBottom или BottomToTop) ,

Я думаю, что ваша модель данных должна быть (концептуально) списком списков, а затем вам необходимо создать элемент ItemsControl of ItemsControls (я знаю, что это боль к макету, но это может быть сделано), и вы будете иметь упорядочить внешний список назад, чтобы элементы управления были сгенерированы C, B, A (поскольку FlowDirection ничего не делает в вертикальной ориентации).

+0

Не совсем уверен, что понимаю, что вы имеете в виду? Проблема, которую я продолжаю иметь, - это отсутствие возможности изменить вертикальный порядок, не уверенный, как будет работать элемент ItemsControl of ItemsControls? Вы говорите, что генерируете элемент в одном и используете его для заполнения другого? –