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 :

[XAML][C#][MVVM] position dynamic de userControl sur une grille


Sujet :

Windows Presentation Foundation

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut [XAML][C#][MVVM] position dynamic de userControl sur une grille
    Bonjour,

    Pour cette fois je ne suis pas bloquer a ma solution, je cherche juste des idées de comment gérer une action précise afin d'éviter de faire un bric a brac pas possible dans mon code comme ca commence à être le cas
    Avant tout je précise comme toujours que je travail en structure MVVM.

    Mon problème:
    J'ai dans mon logiciel plusieurs panels d'outils, qui sont des UserControl.
    Ceux-ci se place soit a droite, soit a gauche de ma fenêtre principale.
    De plus je doit pouvoir lister sur 2 ListBox les éléments s'ils se situent a droite ou à gauche donc.
    Enfin pour finir, 3 points je stocke en bdd les postions de chaque pour la personnalisation d'affichage de chaque utilisateur.

    mes solutions tester:
    [BDD]
    une chaîne de caractère écrite de la manière suivant "X:Y"
    [C#]
    cette chaine de caractère récupère je la coupe pour prendre X et Y et la distribué dans des variables bindé dans mon XAML.
    [XAML]
    • solution 1: Y se joue avec Grid.Column="{Binding Y}"
      X se joue avec Grid.Row="{Binding X}"
      problème: il y as sur une même ligne 2 élément et si l'un est plus grand que l'autre il y as un décalage
    • solution 2: Y se joue avec Grid.Column="{Binding Y}"
      X se joue avec margin="{Binding X}" X au préalable transformé en "0,X,0,0"
      problème: si un élément change de taille, celui-ci déborde sur l'élément en dessous.


    Dans ces 2 solutions je joue toujours avec les Grid mais si vous avec d'autres solutions

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je vois pas ou se trouve exactement le problème sauf je privilégierais la solution 1 ou 2 pour ne pas avoir de code dans le code-behind et ainsi respecter le MVVM

  3. #3
    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
    les autres solution sont :
    - position sur un canvas avec settop setleft
    - jouer avec les margin (c'est mieux) sur une grid (avec les vertical et horizontal aligment)
    - dessiner le tout dans un onrender
    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/

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut
    Je vais tester cela alors

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut
    Pour un DockPanel ou un StackPanel d'écrire un code comme celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <StackPanel itemSource="{Binding ObservableCollection<UserControl>}"
    </StackPanel>
    Bon l'exemple est pas top ok, normal 18h15 fin de journée comme beaucoup je sature :p

    Merci pour vos réponse a l'avance ^^

Discussions similaires

  1. Déterminer la position d'un UserControl dans une Form
    Par Delphi-ne dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 25/11/2007, 13h59
  2. Bloquer la position d'un bouton sur une feuille à l'impression
    Par benpinta dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/10/2007, 16h59
  3. Récupérer la position d'un clic sur une image
    Par visio dans le forum OpenCV
    Réponses: 1
    Dernier message: 24/10/2007, 08h06
  4. Réponses: 5
    Dernier message: 09/09/2006, 23h49
  5. [DHTML]position de la souris sur une image
    Par Daï2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/05/2006, 15h57

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