2009-02-17 5 views

Répondre

2

Oui. Configurez votre gestionnaire sur la page ou sur une autre racine d'interface utilisateur, puis utilisez la méthode suivante pour déterminer ce qui a été cliqué dans ce gestionnaire.

List<UIElement> hits = System.Windows.Media.VisualTreeHelper.FindElementsInHostCoordinates(args.GetPosition(null), startFromControl); 

Notez qu'il existe certaines exigences pour que les contrôles soient "touchés". Une cause commune est de ne pas avoir un arrière-plan défini. Les contrôles peuvent également désactiver le test d'accès avec la propriété UIElement.IsHitTestVisible.

+0

Merci, c'est exactement ce dont j'ai besoin. –

+0

Il y a un problème cependant. Certains contrôles, boutons par exemple, attraper le clic avant le gestionnaire de niveau page, ce qui met une clé dans les travaux. On dirait que j'ai encore besoin de gérer les clics sur ces contrôles. J'espérais avoir juste un gestionnaire par page. –

+0

Oui, les événements de clic survolent l'arborescence. Vous devez utiliser une hiérarchie de contrôle adaptée à cette fonctionnalité. –

Questions connexes