Je crée un contrôle pour WPF, et j'ai une question pour vous, les gourous WPF.Zones de défilement imbriquées
Je veux que mon contrôle puisse se développer pour s'adapter à une fenêtre redimensionnable.
Dans mon contrôle, j'ai une zone de liste que je veux développer avec la fenêtre. J'ai également d'autres contrôles autour de la zone de liste (boutons, texte, etc). Je veux être en mesure de définir une taille minimale sur mon contrôle, mais je veux que la taille de la fenêtre puisse être réduite en créant des barres de défilement pour afficher le contrôle.
Cela crée des zones de défilement imbriquées: une pour la zone de liste et un ScrollViewer envelopper le contrôle entier. Maintenant, si la zone de liste est définie sur la taille automatique, elle n'aura jamais de barre de défilement car elle est toujours dessinée en taille réelle dans ScrollViewer.
Je veux seulement que le contrôle défile si le contenu ne peut pas être plus petit, sinon je ne veux pas faire défiler le contrôle; Au lieu de cela, je veux faire défiler la zone de liste à l'intérieur du contrôle.
Comment puis-je modifier le comportement par défaut de la classe ScrollViewer? J'ai essayé d'hériter de la classe ScrollViewer et de remplacer les classes MeasureOverride et ArrangeOverride, mais je n'ai pas pu déterminer comment mesurer et organiser correctement l'enfant. Il semble que l'arrangement doit affecter le ScrollContentPresenter d'une manière ou d'une autre, et non l'enfant du contenu.
Toute aide ou suggestion serait grandement appréciée.
Grande question. Nous avons nous-mêmes rencontré un problème très similaire. – cplotts