2010-03-25 25 views
1

Je suis confronté à un dilemme. Lorsque je fais du ScrollViewer l'objet de contenu principal de ma fenêtre, le défilement se comporte exactement comme je le veux. Vous redimensionnez pour le rendre plus petit que le contenu et la fenêtre et les barres de défilement apparaissent. Le problème survient lorsque je veux que le menu to soit statique et que le reste du contenu soit défilable. Je veux que les barres de défilement se comportent de la même manière qu'une fenêtre de navigateur, ce qui signifie que lorsque vous le redimensionnez, les barres de défilement apparaissent en fonction de la taille du contenu. Lorsque vous développez la fenêtre, le contenu occupe tout l'immobilier de la fenêtre. Est-ce possible dans WPF?Fenêtre WPF défilant avec le menu principal

L'aide serait grandement appréciée.

Répondre

1

Créez un DockPanel objet principal de votre fenêtre. Insérez votre premier menu en tant que premier enfant (avec DockPanel.Dock="Top") et le ScrollViewer (contenant le reste du contenu de la fenêtre) en tant que deuxième enfant. Dans un DockPanel, le dernier enfant occupe tout l'espace restant, ce qui devrait être ce que vous voulez.

<Window ...> 
    <DockPanel> 
     <MyMenu DockPanel.Dock="Top" ... /> 
     <ScrollViewer> 
      .... 
     </ScrollViewer> 
    </DockPanel> 
</Window> 
+0

Incroyable, merci! J'utilisais un StackPanel, et ça ne fonctionnait pas du tout! –

+0

@Greg: De rien. heureux d'entendre cela a fonctionné. Le problème avec StackPanel est qu'il ne s'étend pas automatiquement à l'espace disponible. Au lieu de cela, il utilise uniquement l'espace "requis" par les éléments internes. – Heinzi

+0

Ahh, c'est logique, merci beaucoup! –

Questions connexes