locked
Obtenir coordonnées x y d'un bouton RRS feed

  • Question

  • Bonjour à tous,

    Je souhaites récupérer les coordonnées x y d'un bouton sur ma vue.

    J'ai vu qu'il existait la méthode PointToScreen() mais celle-ci ne semble pas exister quand je veut l'utiliser avec un bouton.

    Avez-vous une idée ? Merci


    Florian R SAS

    jeudi 3 septembre 2015 07:27

Réponses

  • Ceci semble fonctionner : 
    Point startButtonPosition = button.TransformToVisual(Grid).Transform(new Point(0, 0));
    button est l'objet dont on veut les coordonnées et Grid le parent

    Florian R SAS

    jeudi 3 septembre 2015 14:21

Toutes les réponses

  • Bonjour,

    PointToScreen donne la position absolu par rapport à l'écran.

    Mais est ce que c'est ce que vous voulez ?
    Peut être voulez vous par rapport à votre interface ?

    Dans XAML, tout se positionne en dynamique et non en absolu.

    nelbok

    jeudi 3 septembre 2015 08:02
  • En fait je vais avoir une première colonne de boutton puis une seconde entre les deux va se situer un espace , disons 50px. 

    J'ai besoin des coordonnées d'un bouton de la première colonne sélectionnée pour dessiner une flèche vers un autre bouton de ma seconde colonne .

    Ces boutons sont positionnés dynamiquement 


    Florian R SAS

    jeudi 3 septembre 2015 08:06
  • Je pense que vous aurez besoin d'un canvas placé entre les deux colonnes.

    Canvas class

    jeudi 3 septembre 2015 10:35
  • oui c'est ce que j'ai prévus

    Florian R SAS

    jeudi 3 septembre 2015 11:55
  • Pour revenir à la question, je n'ai pas trouvé de méthode pour connaitre le x et y. Je le calcule directement.

    Imaginons que nous voulons connaitre le x du premier bouton dans le grid.
    Sachant que les boutons ont la même taille et qu'on aura nb bouton + 1 espacement dans le grid.
    x = (grid.height - nb * button.height) / (nb + 1)

    Il faut prendre en compte aussi les Margin / Padding du Grid / Button
    jeudi 3 septembre 2015 13:23
  • Ceci semble fonctionner : 
    Point startButtonPosition = button.TransformToVisual(Grid).Transform(new Point(0, 0));
    button est l'objet dont on veut les coordonnées et Grid le parent

    Florian R SAS

    jeudi 3 septembre 2015 14:21