2010-08-16 3 views
0

У меня есть окно с этой основной схемой:WPF сетки и свернутый Content

<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 в нижнем являются Visibility = «Свернутым», и расширяется до максимальной высоты, установленной, когда они нет.

Это работает вполне нормально для <Grid>, но кажется, что независимо от того, как я переустанавливаю свой макет, я не могу заставить окно пытаться использовать минимальное пространство, он всегда сидит в макс-размере с большим количеством бесполезных пробелов.

Что происходит:

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

Что я хочу:

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

Or Effectively: 

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

+0

Вы хотите изменить размер окна? или просто макет, который нужно уплотнять внутри окна? –

+0

@Metro Smurf Я не хочу, чтобы пользователь менял размер окна, я хочу иметь возможность «Свернуть» некоторый контент в окне и удалить его из диалогового окна (таким образом сокращая его общую высоту). – Aren

+0

Правильно, поэтому вы хотите изменить размер окна. Проверьте свойство SizeToContent в окне. –

ответ

2

Я думаю, что вы ищете, SizeToContent = "Высота" на окне.

+0

Большое спасибо :) Это то, что мне было нужно, глупое имущество, потерянное в море intellisense. – Aren

 Смежные вопросы

  • Нет связанных вопросов^_^