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

C# Discussion :

Converter et paramètre


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut Converter et paramètre
    Bonjour

    Je voudrais utiliser un paramètre dans un converter mais je ne sais pas si ce que je fais est correcte ou s'il faut faire autrement.

    Je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            <ListView Grid.Row="0"
                      Grid.Column="1"
                      Width="360"
                      Height="410"
                      Margin="0,95,0,0"
                      VerticalAlignment="Top"
                      Background="Transparent"
                      BorderThickness="0"
                      ItemsPanel="{StaticResource FluidWrapPanelTemplate}"
                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                      Visibility="{Binding RelativeSource={RelativeSource Self},Path=Name,Converter={StaticResource MonConverter},
                                           FallbackValue=Visible}"
    Ceci me permet donc d'avoir le nom de mon control dans le converter pour la propriété visibity.

    Je voudrais donc savoir si cela vous paraît propre ou il vaut mieux que j'utilise un ConverterParameter ?

  2. #2
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Ça reste propre à condition qu’il y ait une doc pour rappeler le comportement, sinon dans 6 mois, tu ne seras plus capable de savoir le débogué.

    Personnellement, je préfère rester au maximum dans le standard, ça permet de se relire plus facilement et les autres peuvent te relire aussi.
    Je vote ConverterParameter

    Sinon peux-tu montrer un cas d'utilisation de ton objet, parce que sinon l'avis que chaque un peu donner est basé uniquement sur ses préférences

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut
    En fait cela me permet d'aller voir si l'a personne à le droit d'accéder à différente partie de mon affichage.

    J'enregistre une fonction ("nom") dans une table.

    Je fais un lien entre la table groupes et fonctions me permettant de définir quel groupe à le droit à quoi.
    Pour finir dans mon converter je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
                {
                    if (value!= null
                        && MainContainerViewModel.Courant != null 
                        && MainContainerViewModel.Courant.Utilisateur!=null 
                        && MainContainerViewModel.Courant.Utilisateur.GroupePers.FonctionGroupeDroits
                        .FirstOrDefault(fgd=>fgd.Fonction.CodeTypeFonction==(int)Fonction.FonctionType.global && fgd.Fonction.Nom==(string)value)!=null)
                             return Visibility.Visible;
                    return Visibility.Hidden;
                }

  4. #4
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Oh tu te complique la vie la ^^ (pour cette solution en tout cas)
    du coup pour moi c'est pas gainant t'as façon de faire, je pourrais mis retrouver facilement je pense.



    en C# tu peut aussi utiliser les tag de t'es contrôles
    faire un enum de tes différentes autorisations (invité, admin, compta, paie, prod, ....) en attribuant une valeur binaire (1,2,4,8,16,....)
    puis faire un listing de tes contrôles en leurs donnant une valeur (ex: 21 = 16 + 4 + 1)
    et une méthode pour les tester
    L'avantage, c'est d'avoir centraliser tout au même endroit et tu peut géré le enable et visible ou d'autre propriété de la même façon.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut
    ok, aurais-tu des détails, tuto ou liens utiles sur les tags ?

    Ici il ne s'agit que d'une liste, je ne sais pas si ça vaut le coup que la sorte en tant que userControl à part entière du coup.

    faire un enum de tes différentes autorisations (invité, admin, compta, paie, prod, ....) en attribuant une valeur binaire (1,2,4,8,16,....)
    Le problème c'est qu'il ne s'agit pas réellement d'un enum. Il s'agit des groupes que je peux créer/supprimer dans ma BDD. Je peux donc en ajouter.
    (Si tu as des solutions plus efficace/moins gourmandes en ressources je suis preneur)

  6. #6
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    c'était pendant mes cours que j'avais vue cette solution des tags, je pourrais te fournir un exemple de ma classe quand je serais sur mon pc.
    Après t'as si tu définie tes rôles dans la base de données, ça ne pose pas de problème, mais il faudra changer quelque truc

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut
    Je suis très intéressé.

    Jvais essayer de regarder un peu de mon coté ce que je peu faire.

    J'ai récup une appli qui a été commencer il y a 2 ans et mon objectif et de l’améliorer pour la rendre un peu plus souple dans les droits etc...

    Je dois ajouter des fonctionnalités aussi mais il me faut surtout l'alléger et améliorer les traitements.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 24/10/2012, 16h44
  2. Réponses: 15
    Dernier message: 07/06/2011, 22h42
  3. Comment passer mon objet bindé en paramètre d'un converter ?
    Par WebPac dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 13/05/2009, 15h01
  4. Requête paramétrée et CONVERT(binary ..)
    Par dymezac dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/01/2007, 15h23
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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