2017-08-23 2 views
0

J'essaie de créer une vue WPF qui se développe dynamiquement avec sa taille de fenêtre. Mon exemple de code en montre trois.C# WPF Grille Rangs hauteur étirement

Le premier doit avoir une hauteur fixe.

La deuxième et la troisième doivent avoir la même taille et toujours la totalité de la fenêtre.

Malheureusement, cela ne fonctionne pas. Qu'est-ce que je fais mal? Le DockPanel est-il le bon outil pour mon objectif?

<Grid > 
    <Grid.RowDefinitions> 
     <RowDefinition Height="200"/> 
     <RowDefinition Height="1*"/> 
     <RowDefinition Height="1*"/> 
    </Grid.RowDefinitions> 

    <DockPanel Grid.Row="0"> 
     <!-- Labels and Buttons --> 
    </DockPanel> 

    <DockPanel Grid.Row="1"> 
     <ListView Margin="5"/> 
    </DockPanel> 

    <DockPanel Grid.Row="2"> 
     <ListView Margin="5"/> 
    </DockPanel> 
</Grid> 
+0

Avez-vous essayé ''? – praty

+1

Je pense qu'une autre grille est l'outil correct pour votre but – Alex

+0

Qu'est-ce qui signifie que cela ne fonctionne pas? –

Répondre

1

Parce que cette information ne serait pas possible de mettre dans un commentaire.

Votre mise en page fait toujours ce que vous voulez qu'elle fasse. Je définis quelques couleurs d'arrière-plan pour l'afficher. Pour moi, c'est un truc facile à vérifier si ma mise en page se développe comme je le veux.

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="200" /> 
     <RowDefinition Height="1*" /> 
     <RowDefinition Height="1*" /> 
    </Grid.RowDefinitions> 

    <DockPanel Grid.Row="0" 
       Background="Yellow"> 
     <!-- Labels and Buttons --> 
    </DockPanel> 

    <DockPanel Grid.Row="1" 
       Background="Aqua"> 
     <ListView Margin="5" 
        Background="Gray" /> 
    </DockPanel> 

    <DockPanel Grid.Row="2" 
       Background="Beige"> 
     <ListView Margin="5" 
        Background="Bisque" /> 
    </DockPanel> 
</Grid> 

Example

Si vous ne voyez pas de données dans votre ListView ce n'est pas en raison de la mise en page. Vous devez vérifier vos fixations.

Conseil

Je recommande d'utiliser un lieu Border ou Grid d'un DockPanel dans votre cas parce que vous n'avez pas besoin des fonctionnalités d'un DockPanel offre.