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 :

[C# - WPF] ObservableCollection et Interfaces


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [C# - WPF] ObservableCollection et Interfaces
    Bonsoir à tous,

    J'ai un problème dans ma tête.
    J'ai une classe Film qui hérite de ViewModelBase et qui implémente l'interface IElement

    Dans un ViewModel, j'ai une ObservableCollection<Film> ... et quand je bind cette collection sur un contrôle qui prend une ObservableCollection<IElement> ... Sachant que Film implémente IElement, je ne comprend pas pourquoi il ne comprend pas que qu'une ObservableCollection<Film> c'est forcément une ObservableCollection<IElement> ...

    Du coup pour le moment je fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private ObservableCollection<IElement> _Elem = new ObservableCollection<IElement>();
            public ObservableCollection<IElement> Elem
            {
                get
                {
                    foreach (Film F in this.Films)
                    {
                        IElement E = F as IElement;
                        this._Elem.Add(E);
                    }
     
                    return (this._Elem);
                }
                set
                {
                    this._Elem = value;
                }
            }
    Pouvez-vous m'expliquer pourquoi j'ai besoin de recopier cette collection ?

    Merci d'avance

    Cordialement,
    NeoKript

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    En framework 3.0, 3.5 ou 4.0 ?

    - si c'est en 3.0/3.5 c'est tout à fait normal puisque la covariance des paramètres de généricité n'existe pas sur la CLR 2.0 (bon, ce n'est pas tout à fait vrai -l'IL le supporte-, mais ce n'est pas prévu au niveau des compilateurs 2.0 et 3.0)

    - si c'est en 4.0, je n'ai pas regardé l'implémentation des paramètres de généricité de l'ObservableCollection, mais normalement la covariance implémentée dans le C# 4.0 le supporte (sous réserve que le paramètre de généricité de l'ObservableCollection ait été décrit ainsi).

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    En framework 3.0, 3.5 ou 4.0 ?

    - si c'est en 3.0/3.5 c'est tout à fait normal puisque la covariance des paramètres de généricité n'existe pas sur la CLR 2.0 (bon, ce n'est pas tout à fait vrai -l'IL le supporte-, mais ce n'est pas prévu au niveau des compilateurs 2.0 et 3.0)

    - si c'est en 4.0, je n'ai pas regardé l'implémentation des paramètres de généricité de l'ObservableCollection, mais normalement la covariance implémentée dans le C# 4.0 le supporte (sous réserve que le paramètre de généricité de l'ObservableCollection ait été décrit ainsi).
    Salut j'utilise le framework 4.0 et ma classe Film est décrite comme ceci :
    public class Film : ViewModelBase, IElement
    Merci

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

Discussions similaires

  1. heritage d'interface en wpf
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 18
    Dernier message: 25/03/2010, 18h03
  2. [WPF] ObservableCollection trop grande ?
    Par Xanth dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 27/07/2009, 08h09
  3. WPF et modification interface par un autre thread comme les WF ?
    Par Yogy dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 04/03/2009, 17h04
  4. Conseil sur l'amélioration d'une interface WPF
    Par wizad dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 23/01/2008, 16h38
  5. [WPF] Interface utilisateur
    Par gege02 dans le forum Windows Presentation Foundation
    Réponses: 15
    Dernier message: 11/05/2007, 14h02

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