2010-11-18 6 views
0

Donc, ma grille à ce point se développe dynamiquement à n'importe quelle hauteur et je peux défiler vers le bas pour obtenir des coordonnées en utilisant e.GetPosition (mainGrid) par rapport à la grille. Cela fonctionne bien jusqu'à ce que je défile. Je vais donner un exemple.Obtenir la position de la souris par rapport à la grille défilante

J'ai une grille avec une image en arrière-plan. La hauteur de la grille à ce stade est de 950. Si je fais glisser ma case de sélection tout en bas de la grille et que j'obtiens la position par rapport à elle (e.GetPosition (mainGrid)), j'obtiens 950. Super.

Maintenant, quand je redimensionne 950, disons 1200, je dois faire défiler vers le bas pour voir le reste de ma grille. Je fais la même chose, dessinez un carré de sélection au bas de ma grille en m'attendant à ce que ma coordonnée Y soit 1200 mais à la place j'obtiens toujours une coordonnée Y de 950. En d'autres termes, le décalage que j'ai défilé n'est pas appliqué à la coordonnée Y et je ne suis pas sûr de la façon de le faire. Je veux dire à WPF "Obtenir la position relative à la grille mais assurez-vous que vous l'obtenez toujours de l'origine en haut à gauche de la grille à 0,0 et pas seulement la partie de la grille qui est visible toi".

Répondre

0

Fixé. J'ai une grille externe agissant comme mon récipient et une grille intérieure. Je visais la grille extérieure en pensant qu'elle changerait de taille aussi quand la grille intérieure changerait de taille mais je suppose que non. Fonctionne maintenant en ciblant la grille interne.

Questions connexes