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 :

[DataBinding] C# 2.0: Comment faire du Binding sur un champ [XmlIgnore] ?


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [DataBinding] C# 2.0: Comment faire du Binding sur un champ [XmlIgnore] ?
    Bonjour,

    J'ai un grid qui est bindé à un objet.
    Cet objet à besoin d'être sérialisé pour faire de la persistance XML.

    J'ai une propriété que je souhaite bindé au grid, mais je ne veux pas qu'il persiste en XML.
    Comment faire ?

    Car si je rajoute à ma propriété (qui ne contient qu'un get) l'attribut [XmlIgnore], il n'y pas pas de sérialisation XML -> OK, sauf qu'il n'est plus visible depuis le binding !

    Voila...

    Bon l'idéal c'est d'utiliser un attribut magique et éviter des bidouilles de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XmlAttributes photoAttributes = new XmlAttributes();
    photoAttributes.XmlIgnore = true;
     
    XmlAttributeOverrides photoOverrides = new XmlAttributeOverrides();
    photoOverrides.Add(typeof(Photo), "LargeUrl", photoAttributes);
     
    XmlSerializer xmlphoto = new XmlSerializer(typeof(Photo), photoOverrides);
    Sinon je suis parti pour encapsuler ca dans une classe ViewModel, mais bon...


    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Bon j'ai tenté le coup avec [Bindable(true)] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            [XmlIgnore]
            [Bindable(true)]
            public List<Obj> MyObj
            {
     
                get
                {
                    return GetMyObjList();
                }
            }
    et le binding fonctionne tjs pas

Discussions similaires

  1. Comment faire un Binding sur le SelectedItem d'un DataGridComboBoxColumn ?
    Par Cyrilange dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 29/11/2012, 14h26
  2. Réponses: 1
    Dernier message: 29/08/2011, 15h45
  3. [MSSQL2k5] Comment faire un isnull() sur plusieurs champs
    Par tamiii dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/07/2008, 11h50
  4. Réponses: 1
    Dernier message: 09/11/2006, 12h08
  5. Comment faire un Tri sur plusieurs champs
    Par guile153 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/07/2006, 12h52

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