2009-01-02 62 views

回答

10

是的,這是設計。 StackPanel將分配TextBox要求的空間。如果您尚未在TextBox上設置寬度,則只需要足夠的寬度以適應其文本。

7

肯特的答案似乎是正確的。
要繼續強制覆蓋StackPanel的行爲,我認爲你需要動態計算 - 設置包含元素的寬度屬性或一些質樸的覆蓋MeasureOverride。我寧願使用另一個佈局管理器/面板。有些事情我注意到..

  • 的子元素的Horizo​​ntalAlignment和VerticalAlignment屬性的默認值是拉伸(如果你沒有明確指定一個)。
  • StackPanel將根據其方向屬性值來拉伸元素。所以

    • 方向=水平意味着所有元素將被垂直拉伸到最大。元素水平流動。
    • 方向=垂直表示所有元素都將水平拉伸到最大。元素垂直流動。
  • 除非明確指定,子元素的寬度和高度是NaN。如果你指定一個明確的值,StackPanel會通過水平和垂直對齊設置對它們進行處理。
  • StackPanel本身具有Horizo​​ntalAlignment和VerticalAlignment,可以添加更多的佈局扭曲。你可以試試這個example

StackPanel

的默認值對於兩個 的Horizo​​ntalAlignment和包含在一個StackPanel 內容 VerticalAlignment拉伸。

HorizontalAlignment

當高度和寬度屬性是 的元件上顯式地設置,這些 測量採取佈局期間更高先例 和將取消設定 Horizo​​ntalAlignment以拉伸的 典型影響。

4

我需要物品的尺寸均勻,但垂直疊放。

我用了一個UniformGrid,列屬性設置爲1(一個文本框測試,它橫跨像你想)

+0

這是確切的答案,我需要與按鈕類似的佈局問題。謝謝! – 2010-11-12 00:44:07

相關問題