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 :

[WPF]Equivalent de la propriété Location en WinForms


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 66
    Points
    66
    Par défaut [WPF]Equivalent de la propriété Location en WinForms
    Bonjour,

    Quel est l'équivalent de la propriété Location, qui retourne la position de l'objet par rapport au parent, en WinForms pour WPF?

    Cordialement,

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    en fait y'a pas mais par contre
    tu peux avoir les position des objets en fonction de leurs conteneurs
    par exemple :

    sur un canvas tu as
    canvas.gettop et canvas.getleft

    sur une grid en fonction
    des columns puis des vertical et horizontal aligment
    tu peux utiliser ou lire les margins
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    quel est l'intérêt si ce n'est pas indiscret...

    je m'explique, cela peut être intéressant dans le cas où l'on travail avec des Canvas, mais dans ce cas la propriété de dépendance Canvas.X ou Canvas.Y est ton amie...
    Mais lorsque l'on travail avec des layout genre Grid ou encore DockPanel, ou WrapPanel, je vois pas trop l'intérêt, puisque si ta bien positionné tes objets et leur disposition par rapport au parent, ils se redimensionnent/déplacent automatiquement.

  4. #4
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Ça peut sans doute être utile pour faire du drag-and-drop sur toute l'interface.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    oui sauf qu'en général tu contrôle le "drop" sur les éléments qui sont susceptibles de le recevoir... donc le positionnement devient là totalement inutile, ou gadget.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 66
    Points
    66
    Par défaut
    Oui d'accord pas de problème quand on travaille dans un conteneur, mais là dans mon cas, j'ai deux "Window" superposé, quand je clique sur un point de la première fenetre, je veux retrouver le contrôle contenu dans la fenêtre de derrière à l'aide des coordonnées fourni par l'évènement e.GetPosition( this );

    Voilà pourquoi j'ai besoin d'une propriété Location, j'ai essayé de faire la mienne en utilisant les propriétés Margin, mais ça me retourne toujours 0, alors que mes contrôles sont bien disposés partout dans le conteneur...

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 66
    Points
    66
    Par défaut
    Voici la méthode que j'ai trouvé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ( Parent != null
                     && Parent is Visual )
    {
                    Location = ( Parent as Visual ).TransformToVisual( this ).Transform( new Point( 0, 0 ) );
                    Location = new Point( Location.X * -1, Location.Y * -1 );
    }
    Et ça marche!

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

Discussions similaires

  1. Equivalent TBitBtn avec propriété Kind !
    Par Invité(e) dans le forum Visual C++
    Réponses: 0
    Dernier message: 17/07/2009, 19h37
  2. WPF / Equivalent Graphics.FromImage
    Par theMonz31 dans le forum C#
    Réponses: 5
    Dernier message: 22/04/2009, 16h23
  3. [XAML/WPF] Equivalent du DataGridView des Windows Forms
    Par Nadd dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 09/01/2008, 20h35
  4. [VB.NET]Propriété location
    Par Emcy dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/04/2005, 10h09

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