2011-01-26 43 views
0

我對WPF非常陌生,並且正在嘗試理解DockPanel控件。我正在構建一個Window,並且正在使用DockPanel以按照我希望的方式停靠控件。然而,DockPanel本身可以停靠在窗口的頂部嗎?我似乎無法找到辦法做到這一點。理想情況下,我希望將DockPanel自己放置在我的窗口的頂部,以便在窗口調整大小時,它會隨着窗口水平調整大小而增大或縮小。WPF - DockPanel問題

問題是我無法在DockPanel本身上找到Doc屬性。這不可能做到嗎?

回答

3

如果你想停靠它,你需要把它放在另一個DockPanel中。

這就是說,我的經驗是,當佈局達到您所描述的複雜程度時,切換到使用網格控件通常會更好。這給了你對佈局的大量控制,並且使動態增長的行/列(在兩者之間具有固定大小的部分)變得容易。


編輯迴應評論:

您可以使用擴展需要一個網格。例如,通過使用星語法,你可以有一個網格,頂行始終窗口大小的1/3,而下排爲2 /三分之二,就像這樣:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="2*" /> 
    </Grid.RowDefinitions> 
</Grid> 

有關選項的詳細信息對於尺寸,請參閱GridLength。您可以使用「自動」(適合內容),「*」根據空間或固定高度(放入數字)進行縮放。

+0

@Reed - 我做了這個聲音要複雜得多比它確實是。讓我試着簡化問一個問題。假設您想在窗口中放置一個選項卡控件,並將其停靠在窗口頂部,以便在用戶水平調整窗口大小時水平擴展或縮小。你會怎麼做? – 2011-01-26 18:16:00

0

我不確定這是你想要的,但我有一個DockPanelMenu。當我調整窗口大小時,菜單調整大小。

這裏是我的代碼:

<Grid> 
    <DockPanel Height="50" Margin="0" Name="MenuDockPanel" VerticalAlignment="Top" Width="Auto"> 

    <Menu Height="23" Name="MenuPanel" Width="Auto" VerticalAlignment="Top"> 
    <MenuItem Header="_File"> 
    </Menu> 
    </DockPanel> 
<Grid> 

希望這有助於