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 :

Choix dynamique du champ bindé


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut Choix dynamique du champ bindé
    Bonjour,

    Voici mon problème:

    J'ai deux classes:

    1) Libelle avec :
    long IdLibelle
    string DescritionFrancais
    string DescriptionAnglais

    2) Personne avec :
    string Nom
    string Prenom
    long IdEtatCivil
    Libelle LibelleEtatCivil

    Dans mon écran j'ai LangueUtilisateur (1 = Francais, 2 = Anglais)

    Je dois afficher soit LibelleEtatCivil.DescritionFrancais ou LibelleEtatCivil.DescritionAnglais en fonction de LangueUtilisateur

    Comment procédériez-vous?

    Pensez-vous qu'un converter pourrait marcher?
    Et utiliseriez-vous simplement IdEtatCivil ou dois-je creer la propriété Libelle LibelleEtatCivil (sachant qu'il pourrait exister une 10 de Libelles pour certaines de mes classes)

  2. #2
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Salut Benoit,

    Un Converter pourrait faire l'affaire. Tu passes le libellé en binding et le numéro de l'état civil en paramètre. Mais comme binder un ConverterParameter, c'est un peu galère, tu peux passer par un MultiBinding : tu bindes le libellé ET le numéro comme ça ton converter peux te faire la traduction tout seul.

    Seul hic, c'est quand tu vas changer dynamiquement la langue d'utilisateur : si tu veux que le converter retraduise correctement, il te faudra faire un refresh manuel (sur le PropertyChanged par exemple).

    Sinon si tes traductions sont fixes, tu peux également passer par 2 fichiers de resource contenant les libellées et switcher de l'un à l'autre en fonction de la langue...

    En espérant t'avoir éclairé...

    @+

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    ConverterParameter
    C'est juste quand le converter à besoin que d'un parametre?

  4. #4
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Oui en gros c'est un "paramètre" que tu veux envoyer à ton converter.
    Tu le récupères dans le Convert et ConvertBack.

    Seul hic, tu ne peux pas le binder simplement. Alors c'est pour ça que je te propose d'utiliser le Multibinding

    Regarde cet exemple ça te donnera une idée plus précise

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Merci

    Je lirai ca chez moi (vive les web policy au boulot )

  6. #6
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Arf c'est moche

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class MonMultiConverter : IMultiValueConverter
    {
    	public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    	{
    		Libelle l =  values[0] as Libelle;
    		int idLang = value[1] as int
    		return  ......
    	}
     
    	public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    	{
    		.....
    	}
    }

    Et en xaml

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <TextBlock.Text>
    	<MultiBinding Converter="{StaticResource MonMultiConverterKey}" Mode="OneWay">
    		<Binding Path="MaPersonne.Libelle"/>
    		<Binding Path="InDexLang" />
    	</MultiBinding>
    </TextBlock.Text>

    Si ça peut t'éviter d'attendre ce soir ...

Discussions similaires

  1. [MySQL] Requete Select avec choix dynamique des champs de condition
    Par belaggoun2000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/02/2009, 11h30
  2. Parcours dynamique des champs
    Par cosmos38240 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/11/2005, 14h54
  3. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36
  4. Soit une liste de choix, soit un champ texte
    Par yoyot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2005, 14h37
  5. Réponses: 10
    Dernier message: 04/05/2004, 16h00

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