2014-12-16 4 views
6

Я ищу способ компоновки ListView в приложении Windows 8.1, чтобы его элементы обернули (не более) два столбца, которые читаются в порядке, например, в виде газеты и прокрутки по вертикали, например ,Как отображать элементы в двух столбцах в ListView

1 4 
2 5 
3 

ближайший я получил это:

<ListView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="2" /> 
    </ItemsPanelTemplate> 
</ListView.ItemsPanel> 

MaximumRowsAndColumns но поскольку интерпретируется согласно Orientation, результат

1 2 
3 4 
5 

Orientation переключая к вертикали дает мне

1 2 3 
4 5 

Я собираюсь нуждаться в пользовательской панели, чтобы сделать это? Другая тактика - это, пожалуй, gridview внутри scrollviewer, но это кажется мне немного взломанным.

+0

Я думаю, что было бы целесообразно, чтобы сохранить его, что сам способ, так как если вы оформляете статьи новостей в соответствии с вашими потребностями, это означало бы, что последняя статья может опуститься (например, 3) в нижней части страницы, в то время как более старая статья может пузыриться (например, 4/5) .., чтобы пользователи читали более старые статьи, а не последние. Но были бы сценарии, где мы хотели бы делать то, что вам нужно, поэтому мой голос вам! – bit

+0

, это очень хороший момент. У меня нет требования к сортировке по времени здесь, но если нужно подружиться, это будет очень сильный аргумент, чтобы оставить его таким, каким он есть (вместе с тем, так оно и есть и поэтому пользователи будут ожидать согласованности с другими приложениями) –

ответ

1

Вы должны использовать ItemsWrapGrid:

<ListView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <ItemsWrapGrid /> 
    </ItemsPanelTemplate> 
</ListView.ItemsPanel> 

Это даст вам результат, который вы хотите:

1 4 
2 5 
3 
+0

не так, так как я теряю возможности вертикальной прокрутки ... там может быть сказано десять строк по два пункта каждый, в то время как только три строки могут отображаться за раз, и я бы хотите прокрутить по вертикали, чтобы увидеть остальные семь. ItemsPanelTemplate будет обертываться на три строки и выкладывается аналогично gridview из того, что я могу сказать. –

Смежные вопросы