2010-08-16 85 views
0

我已經得到了與此基本佈局的窗口:WPF網格和倒塌的內容

<Window 
    MinHeight="72" MaxHeight="400" Height="Auto" 
    MinWidth="460" MaxWidth="460"> 
    <DockPanel> 
     <!-- Footer --> 
     <StackPanel DockPanel.Dock="Bottom"> 
      ... 
     </StackPanel> 

     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="40" /> 
       <RowDefinition Height="Auto" MinHeight="0"/> 
       <RowDefinition Height="Auto" MinHeight="0" MaxHeight="40" /> 
      </Grid.RowDefinitions> 

      <StackPanel> 
       <!-- Header --> 
      </StackPanel> 

      <TextBlock Grid.Row="1" Visibility="{My Fancy Binding To collapse this}" ... /> 

      <TextBlock Grid.Row="2" Visibility="{My Fancy Binding To collapse this}" ... /> 
     </Grid> 
    </DockPanel> 
</Window> 

什麼即時試圖實現的是一個窗口,當兩個TextBlock中的在底部能見度=「摺疊」這是緊湊,並且當它們不是時擴大到最大高度設定。

這對於<Grid>來說可以,但似乎無論我如何重新排列布局,我都無法讓窗口嘗試使用最小的空間,它總是以最大尺寸坐着無用的空白。

正在發生的事情:

 
+-----------------------------------+ 
| Header       | 
+-----------------------------------+ 
+-----------------------------------+ 
+-----------------------------------+ 
|         | 
| Wasted Space I want to   | 
| "collapse"      | 
|         | 
+-----------------------------------+ 
| Footer       | 
+-----------------------------------+ 

我想要什麼:

 
+-----------------------------------+ 
| Header       | 
+-----------------------------------+ 
+-----------------------------------+ 
+-----------------------------------+ 
+-----------------------------------+ 
| Footer       | 
+-----------------------------------+ 

Or Effectively: 

+-----------------------------------+ 
| Header       | 
+-----------------------------------+ 
| Footer       | 
+-----------------------------------+ 

+0

你想讓窗口調整大小嗎?或者只是要在窗口內壓縮佈局? – 2010-08-16 22:35:58

+0

@Metro Smurf我不希望用戶調整窗口大小,我希望能夠「摺疊」窗口中的某些內容,並從對話框中刪除可視空間(從而縮短整體高度)。 – Aren 2010-08-16 22:37:17

+0

對,所以你想調整窗口的大小。檢查窗口上的SizeToContent屬性。 – 2010-08-16 22:47:06

回答

2

我想你在窗口找什麼是SizeToContent = 「高度」。

+0

謝謝你這麼多:)這就是我所需要的,愚蠢的小財產迷失在智慧的海洋中。 – Aren 2010-08-16 22:47:38