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 :

Appeler DynamicResource à partir d'un converter


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
    Décembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 24
    Par défaut Appeler DynamicResource à partir d'un converter
    Bonjour,

    Ça fait un petit moment que je cherche et je n'arrive toujours pas à trouver si c'est possible de le faire et comment. Ou une meilleur façon de faire.

    J'ai une Checkbox pour laquelle j'ai crée deux styles différent :
    - Une la case coché en bleu
    - L'autre avec la case coché en rouge

    J'ai déclaré mes deux styles dans <Checkbox.resources> avec chacun une Key.

    Dans ma checkBox je passe en paramètre du style un binding avec un converter.

    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <CheckBox x:Name="checkBoxConf" IsChecked="{Binding Path=IsApplyConfNeeded, Mode=TwoWay}" Width="15" Height="15" Style="{Binding Path=IsConfModified, Converter={StaticResource ConfigurationColorConverter}}">
    IsConfModified est un Int qui prend pour le moment 0 et 1.

    Et en fonction de la valeur je voudrais attribuer le bon style à ma checkbox.

    Maisje ne vois pas comment retourner le bon style dans mon converter. (Faire appel au bon DynamicResources).

    Merci

    Cdt

  2. #2
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Coucou,

    Quel est ton objectif fonctionnel ?
    Je n'ai jamais fait ce que tu dis, mais à priori, tu pourrais peut être utiliser un StyleSelector pour effectuer ce genre de chose ?

    Plus d'info ici : http://msdn.microsoft.com/en-us/libr...eselector.aspx

    Sinon, tu peux regarder aussi cette page qui t'aidera dans l'implémentation du StyleSelector: http://msdn.microsoft.com/en-us/libr...ttemplate.aspx

    Bon courage,

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

    Informations forums :
    Inscription : Décembre 2010
    Messages : 24
    Par défaut
    En faite j'ai un listview avec plusieurs colonnes et lignes.

    En Source j'ai une observablecollection, ou je bind mes élèments de ma collection.
    Dans le listview je peut éditer les éléments.
    En dessous du listview j'ai un bouton apply, pour effectuer les changements dans la DB.

    La checkbox sert a dire si j'applique le changement de cette ligne.
    Et mes couleurs servent à dire si la ligne est validé, donc qu'il y a pas eu de changement par rapport a la DB et en rouge pour dire qu'il y a eu un changement mais pas encore appliquer.

    Ca c'est mon objectif.


    Quand j'édite les éléments ça notify que l’élément à changer donc ça met a jour ma collection ainsi que l'UI. Mais ca Notify pas que la collection entière à changer.

    Au début j'avais fait un templateSelector sur le listview, au premier chargement ça marche mais comme c'est les éléments qui sont notifier pour le changement et pas la collection elle même je ne repasse pu dans le templateSelector.


    Donc je cherche un moyen pour quand un élément précis de ma collection change le style de ma checkbox change.

    C'est pour ça que j'essayai de faire un binding au niveau du style avec un converter. Dans le code behind du usercontrol je peut set une ressource sans problème mais dans mon converter j'arrive pas à trouver le moyen de le faire.

    Je sais pas si j'ai été parfaitement claire sur les objectifs. (il est minuit ^^)

    Merci de ton aide en tout cas.

  4. #4
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Blop,

    Tu veux que si une ligne de la ListView est "éditée" alors son background soit différent ?

    Est-ce que tes objets bindés implémentent IEditableObject et est-ce que tu peux rajouter une propriété dessus, par exemple IsEdited ?

    Bon courage,

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

    Informations forums :
    Inscription : Décembre 2010
    Messages : 24
    Par défaut
    Salut,

    Oui dès qu'une ligne de ma listview est édité elle passe en statut édité.

    En faite j'ai une classe avec plusieurs propriété dedans dont une qui est IsConfModified que je met à 0 ou 1 si modification ou non.

    Je déclare une observableCollection avec ma classe en paramètre.
    L'observableCollection implémente un itemPropertyChanged via cet ancien post de moi : collection avec itemPropertyChanged

    Et si cette variable est égale à 1, je veut faire appel au template de ma checkbox rouge sinon c'est la ckeckbox bleu pour le statut à 0.

    Non j'implémente pas IEditableObject. D'ailleurs je connaissais pas, je vais aller jeter un oeil.

    Merci

Discussions similaires

  1. [VB.NET 2005] Appeler FormClosing à partir d'un menu
    Par Filipegomes dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/03/2008, 00h16
  2. Appel COBOL à partir de JAVA
    Par JauB dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 17/05/2007, 10h45
  3. Réponses: 2
    Dernier message: 02/10/2006, 22h50
  4. lancer un appel à partir d'une appli
    Par white-rabbit dans le forum Java ME
    Réponses: 1
    Dernier message: 10/04/2006, 11h37
  5. [Swing]JDialog appel a partir d'un panel
    Par woods dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 31/01/2006, 15h28

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