所以我是新來的使用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