如何在StackPanel中设置项目顺序

时间:2011-09-19 18:33:44

标签: wpf stackpanel

我有一个字符串列表。例如“abc”,“pqr”,“xyz”按此顺序排列。 StackPanel是绑定到此列表的数据。 我想垂直显示StackPanel中的列表,但是从上到下按相反的顺序显示

"xyz"
"pqr"
"abc"

有没有办法在xaml中执行此操作,还是必须重新排序列表?

2 个答案:

答案 0 :(得分:5)

这是非常hackish,但似乎工作。将stackpanel的布局转换设置为180.然后每个子布局转换为180。

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

(在我的例子中,我有一个自定义用户控件作为行)

<UserControl.LayoutTransform>
    <RotateTransform Angle="180"/>
</UserControl.LayoutTransform>

答案 1 :(得分:2)

是和否,StackPanel将按照枚举顺序显示它们。所以你看到它有几个选择:

1)重新排序列表

2)更改绑定,或应用即时重新排序的IValueConverter。这当然需要对转换器进行编码,但是一旦编写完成,您就可以根据需要在XAML中重复使用它,而无需修改单个窗口,代码隐藏等。