2010-06-25 6 views
0

J'ai un WrapPanel placé dans une grille et le remplir dynamiquement avec ToggleButtons.
La hauteur de la ligne, où est situé le wrappanel, est calculée sur la base du nombre de ToggleButtons dans le composant WrapPanel.WPF: Comment changer le wrappanel?

Lorsque je charge mon écran, les éléments du wrappanel ne sont pas correctement configurés. Toutefois, lorsque je redimensionne mon formulaire, les éléments sont affichés correctement.

Y at-il une méthode où vous pouvez forcer à relancer les éléments comme il le fait lorsque vous redimensionnez votre formulaire?

Ci-dessous vous pouvez voir mon code WPF:

<Grid x:Name="grdScreen"> 
    <Grid.RowDefinitions> 
     <RowDefinition x:Name="rdToolBar" Height="21" /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 
    <Grid Grid.Row="0"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="150" /> 
      <ColumnDefinition Width="150" /> 
      <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 
     <ToggleButton Grid.Column="0" Name="btnlegende" Margin="1,1,11,1" Click="btnlegende_Click" /> 
     <Button Grid.Column="1" Name="btnlayout" Margin="1" Click="btnlayout_Click" /> 
     <WrapPanel x:Name="pnlHeader" Grid.Column="2" /> 
    </Grid> 
... 
</Grid> 

Répondre

0

essayer this.UpdateLayout();

+0

Ajoutez ce code après l'ajout dynamique des contrôles. – Ragunathan

+0

Je l'ai déjà essayé. Même pnlHeader.upateLayout(). Cela ne fonctionne pas. – user376040

+0

Essayez simplement de placer le code du panneau Wrap séparément dans un usercontrol, je ne veux pas dire à l'intérieur de la grille. – Ragunathan

Questions connexes