2010-07-20 13 views
7

Chciałbym mieć siatkę z rzędem na górze i na dole z etykietami lub przyciskami w nich. W środku planuję użyć ListBox. Chcę, aby ListBox się rozwinął, aby wykorzystać całą dostępną przestrzeń. Byłoby miło, gdyby nie kodowanie wysokości pozostałych dwóch rzędów. Mój XAML jest poniżej. Jak mogę powiększyć środkową sekcję automatycznie? Dzięki.Panel układu siatki WPF z rzędem ustawionym na "Auto"

<UserControl x:Class="WpfApplication1.UserControl1" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     mc:Ignorable="d" 
     d:DesignHeight="300" d:DesignWidth="300"> 
<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <Label Grid.Row="0" 
      Grid.ColumnSpan="3" 
      Content="Top Row" /> 

    <ListBox Grid.Row="1" 
      Grid.ColumnSpan="3" /> 

    <Label Grid.Row="2" 
      Grid.ColumnSpan="3" 
      Content="Bottom Row" /> 
</Grid> 

Odpowiedz

11

Spróbuj ustawić środkowy rząd do tego ...

<RowDefinition Height="*" /> 
+0

Wielkie dzięki. Bardzo pomocne. – Nate

+1

@Nate. Skróty "*" są jeszcze bardziej wyrafinowane. W tym przykładzie nie potrzebujesz niczego więcej, ale jeśli masz złożoną siatkę, w której potrzebujesz wielu wierszy lub kolumn, aby rozwinąć w różnych proporcjach, możesz mieć "2 *" dla jednego i "5 *" dla drugiego. Jeśli pozostawiłeś je w "*" (co jest skrótem do wypowiedzenia 1 *), dwa wiersze dzieliłyby między siebie rozszerzoną przestrzeń między sobą. Pozdrawiam – Berryl

+0

Dzięki Berryl. To bardzo interesujące. – Nate

3

Wymień środkowa

<RowDefinition Height="Auto" /> 

z

<RowDefinition Height="*" /> 
Powiązane problemy