所以我是新来的使用WPF,并不能找出如何使一个简单的方法有多个控件的列可以轻松地添加/减少,仍然可以滚动。举例来说(我的情况),我有两个文本框和一个按钮,需要为许多“项目”添加按钮。我想在3列布局中将它们放在一起,并使用相同的滚动条进行全部滚动。如何制作多个控件(列)可滚动的堆栈?
最好的情况下,结果会像多个堆栈面板(在我的情况3)充满了任意数量的控件,所有的控件都使用相同的滚动条滚动。由于这似乎不起作用,我该怎么做呢?非常感谢,无论我的问题多么糟糕,你们总是非常乐于助人。
所以我是新来的使用WPF,并不能找出如何使一个简单的方法有多个控件的列可以轻松地添加/减少,仍然可以滚动。举例来说(我的情况),我有两个文本框和一个按钮,需要为许多“项目”添加按钮。我想在3列布局中将它们放在一起,并使用相同的滚动条进行全部滚动。如何制作多个控件(列)可滚动的堆栈?
最好的情况下,结果会像多个堆栈面板(在我的情况3)充满了任意数量的控件,所有的控件都使用相同的滚动条滚动。由于这似乎不起作用,我该怎么做呢?非常感谢,无论我的问题多么糟糕,你们总是非常乐于助人。
我认为WrapPanel
是你想要的。
我发现了this tutorial,它简洁地解释了它的用法。如果你设置了Orientation="Vertical"
它应该按你的需要布置。
您是否尝试将所有三个StackPanels放入ScrollViewer
?
我以为你只能把一个控件放在scrollviewer中。我错了吗? – SirDinosaur 2010-07-01 15:06:20
@SirDinosaur - 我认为你需要把它们放在另一个容器中,但这当然是可能的。 – ChrisF 2010-07-01 15:10:20
我只需要找出哪个容器效果最好。最坏的情况我会用WrapPanel来做,这很好,但我宁愿有一个更好的解决方案。 – SirDinosaur 2010-07-01 15:19:45
<ScrollViewer ...>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" ...>
...
</StackPanel>
<StackPanel Grid.Column="1" ...>
...
</StackPanel>
<StackPanel Grid.Column="2" ...>
...
</StackPanel>
</Grid>
</ScrollViewer>
我正在尝试,但网格不会根据堆栈面板的大小来调整它的高度。建议? – SirDinosaur 2010-07-01 15:15:26
我已经测试过它,它的工作原理与您所描述的一样,您需要它。也许你设置了网格的高度?或StackPanels的? – Andy 2010-07-02 08:36:10
标题中不需要[WPF]标记。 – Robaticus 2010-07-01 15:00:55