Pour une application à écran tactile compatible, je souhaite modifier les commandes standard ScrollViewer dans mon application WPF 3.5: Au lieu de montrer les barres de défilement, je veux que l'utilisateur de faire défiler en cliquant dans la zone de contrôle et en faisant glisser le contenu (similaire au comportement sur l'iPhone d'Apple). Je voudrais faire cela en appliquant un style au ScrollViewer, car (a) je peux appliquer un style automatiquement à n'importe quel ScrollViewer dans une fenêtre (même ceux contenus dans les contrôles comme ListView) et (b) je peux utiliser le Windows standard Scrollbar-style si l'application est en cours d'exécution sur un bureau normal avec le clavier et la souris.Est-il possible d'implémenter un comportement "slide-to-scroll" pour ScrollViewer?
Ma première idée était d'utiliser un modèle de contrôle personnalisé pour le ScrollViewer. Le modèle de contrôle par défaut est described in the MSDN et utilise un ScrollContentPresenter. Normalement, je dériverais juste une classe de ScrollContentPresenter et j'ajouterais le comportement de slide-to-scroll là, mais pour une raison quelconque, ScrollContentPresenter est scellé - je ne peux pas en dériver. J'ai essayé de placer un ScrollContentPresenter dans un UserControl, et de mettre le contrôle de l'utilisateur dans le modèle de contrôle ScrollViewer, mais cela ne fonctionnait pas non plus.
Yat-il un moyen simple d'obtenir ce comportement, sans réécrire toutes les fonctionnalités ScollViewer/ScrollContentPresenter?
Merci, je ne savais pas que vous pourriez ajouter une classe à un dictionnaire de ressources comme ça. Je ne l'ai pas encore essayé, mais cela devrait fonctionner. – Niki