2010-04-01 88 views
1

我在WPF中定義了一個窗口,在這個窗口中放置了一個「堆棧面板」,在此面板中放置了一個「選項卡控件」和一些「按鈕控件」。在WPF中設計控制面板的最佳做法

在執行程序時,我希望當我不得不使用鼠標調整窗口大小時,堆棧面板及其內部的所有控件也可以自動調整大小並與窗口成比例。

我怎樣才能得到這個?

謝謝!

回答

1

a StackPanel只使用其子控制所需的空間;它不會而不是調整到窗口的可用空間。

如果您想要這種行爲,請使用不同類型的面板:如果您只希望調整標籤控件的大小,請使用DockPanel並使該選項卡控制爲DockPanel的最後一個子項。一個DockPanel伸展到父節點的可用空間,最後一個孩子獲得之前孩子沒有使用的所有空間。

<DockPanel> 
    <Button DockPanel.Dock="Bottom" /> 
    <Button DockPanel.Dock="Bottom" /> 
    <TabControl> 
     ... 
    </TabControl> 
</DockPanel> 

如果您需要更復雜的間距的行爲(例如,你想要的按鈕按比例佔用更多的空間爲好),看看在Grid控制。

0

如果你想要的一切,只是規模上下均勻,所以你可能最終得到巨大的或微小的控制和字體,包住整個窗口的內容(目前StackPanel)在Viewbox控制。

+0

Jay,Visual Studio不允許我在ViewBox中包裝StackPanel。 – vizcayno 2010-04-01 14:03:03

+0

@vizcaynot以什麼方式不允許你? ' ...'是完全有效的XAML - 我只是在VS2008 SP1中試過。確保你沒有試圖包裝''。 – Jay 2010-04-01 16:45:59