IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Coordonnée d'un Shape sur un Canvas


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut Coordonnée d'un Shape sur un Canvas
    Bonjour,

    Je travaille actuellement sur un projet où je dois pouvoir récupérer les coordonnées d'un Shape créé dynamiquement, par du code en C#.
    Ce shape ce trouve dans un canvas que j'ai créé avec le XAML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <Canvas Margin="25,25,25,25" Name="stage" Background="White" Focusable="True"></Canvas>
    J'utilise alors dans mon code C# la ligne suivante:

    Element est le Shape en question et à la compilation je me retrouve avec l'erreur suivante

    Member 'System.Windows.Controls.Canvas.GetTop(System.Windows.UIElement)' cannot be accessed with an instance reference; qualify it with a type name instead
    Je ne sais pas si j'ai été très clair, si ce n'est pas le cas dites le moi j'essaierais de préciser

    Merci d'avance pour tout âme charitable qui voudra bien éclairer ma lanterne.

    Cordialement,

    Goten960.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Bonjour Binoo,

    Tout d'abord merci de porter de l'intérêt à ma question.
    J'ai déjà essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Canvas.GetTop(element);
    mais en utilisant un Debug.Writeline il me retourne ça : " Non Numérique "

    Une autre question, concernant ce que tu m'as conseillé de faire, imaginons qu'il y ai plusieurs Canvas dans mon application comment préciser duquel il s'agit?

    En tout cas encore merci pour une réponse aussi rapide

    Cordialement,

    Goten960.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Citation Envoyé par goten960
    J'ai déjà essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Canvas.GetTop(element);
    mais en utilisant un Debug.Writeline il me retourne ça : " Non Numérique "
    Tu es sur qu'au moment où tu demandes la position, le shape 'element' existe et est le fils direct d'un Canvas ?

    Citation Envoyé par goten960
    Une autre question, concernant ce que tu m'as conseillé de faire, imaginons qu'il y ai plusieurs Canvas dans mon application comment préciser duquel il s'agit?
    Un élément (controle, shape, ...) a un seul père. Lorsque tu appliques ce code tu as la position sur le Canvas parent de l'objet donné en paramètre.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Oui je suis sur que le shape 'element' existe je l'ai ajouté comme enfant au canvas.
    En fait ce que je voudrais c'est pouvoir faire un drag & drop de ce rectangle c'est pour cela qu'il faut que je récupère ses coordonnées.

    Cordialement,

    Goten960.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Pour certifier qu'il était bien l'enfant du canvas j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      var x = stage.Children.Count;
                Debug.WriteLine(x);
    et j'ai pour résultat 1 ce qui est donc l'unique rectangle présent dans le canvas.

    Donc tout est ok de ce côté là.

    Je suis donc un peu perdu et ne vois pas du tout ce qui cloche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tkinter] Insérer une image jpg sur un canvas avec PIL
    Par Kyojimbo dans le forum Tkinter
    Réponses: 2
    Dernier message: 23/02/2006, 16h46
  2. Réponses: 2
    Dernier message: 14/09/2005, 18h09
  3. Ecriture verticale sur un canvas
    Par blaiseac dans le forum Langage
    Réponses: 3
    Dernier message: 01/08/2005, 21h59
  4. Ombres portées sur un canvas
    Par pifou02 dans le forum Langage
    Réponses: 2
    Dernier message: 23/11/2003, 19h03
  5. Comment mettre le curseur d'un Memo sur le Canvas d'une Form ?
    Par julie20 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 27/08/2003, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo