2010-08-05 48 views
0

我剛剛開始使用WPF,並試圖佈置UI。如何正確獲取WPF控件的大小?

我有一個StackPanel,在它的範圍內,我想要兩個垂直堆疊的列表框,每個都覆蓋容器面板的一半,而不管其中有哪些內容。到目前爲止,列表框的大小取決於它們中的項目,所以當它們爲空時,它們不會覆蓋任何容器面板,並且隨着項目的添加它們會調整大小並且看起來非常難看。

在舊的Winforms天我會陷阱調整大小事件和手動設置高度。我知道這不再是「正確」的方式,但我不確定什麼是正確的方式!

那麼,有什麼建議嗎?

回答

2

使用一列兩行的網格,而不是堆棧面板。
不要將行高設置爲任何值,默認情況下它將在任何行之間平均分配高度。

每行將佔據網格高度的50%。 將列表框添加到網格上的col = 0,row = 0 & col = 0,row = 1。

如果你想改變的比例予以,說1/3 & 2/3 組一行高度「2 *」,另一個爲「1 *」

希望這有助於。

+0

在這種情況下,'*'應該是'1 *'的單位,但'1'也可以省略。 – Joey 2010-08-05 14:55:04

+0

爲什麼你建議將行高設置爲任何東西?默認情況下,它們將被分配到網格高度的一半。 +1,因爲它是適當的容器。 – Will 2010-08-05 14:56:15

+0

Johannes&WIll:謝謝你們,我幾個月前就砍掉了一個WPF UI,但我不是專家。我會更新帖子,謝謝。 – 2010-08-05 15:05:42