Как установить порядок товаров в StackPanel - PullRequest
1 голос
/ 19 сентября 2011

У меня есть список строк.например, "abc", "pqr", "xyz" в этом порядке.StackPanel - это данные, привязанные к этому списку.Я хочу отобразить список в StackPanel по вертикали, но в обратном порядке сверху вниз

"xyz"
"pqr"
"abc"

Есть ли способ сделать это в xaml или мне нужно изменить порядок своего списка?

Ответы [ 2 ]

5 голосов
/ 10 июня 2012

Это очень хакерски, но, похоже, работает.Установите преобразование макета стека для поворота на 180. Затем преобразование макета каждого дочернего элемента также будет равным 180.

<StackPanel Name="pnlLayers">
<StackPanel.LayoutTransform>
    <RotateTransform Angle="180"/>
</StackPanel.LayoutTransform>

(в моем случае в качестве строки у меня был пользовательский элемент управления)

<UserControl.LayoutTransform>
    <RotateTransform Angle="180"/>
</UserControl.LayoutTransform>
2 голосов
/ 19 сентября 2011

Да и Нет, StackPanel будет отображать их в порядке их перечисления. Итак, у вас есть несколько вариантов, как я вижу:

1) Переупорядочить список

2) Измените привязку или примените IValueConverter, который выполняет повторный заказ на лету. Это, конечно, требует кодирования конвертера, но как только он написан, вы можете повторно использовать его в своем XAML, как требуется, без необходимости изменять отдельные окна, кодовые компоненты и т. Д.

...