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

Silverlight Discussion :

Héritage sur plusieurs niveaux de user control


Sujet :

Silverlight

  1. #1
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut Héritage sur plusieurs niveaux de user control
    Bonjour à tous et à toutes ,

    Voila je programme avec silverlight 4 j'ai un soucis avec l'héritage de user control , pour le moment j'ai une classe FicheGeneric qui contient les traitements génériques entre mes composants donc toutes mes fiches héritent de celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      public class FicheGenerique : UserControl
        {
          public FicheGenerique()
            {
     
            } ...
    jusqu'ici pas de problème jusqu'au moment ou un de mes composants j'ai voulu qu'il soit lui même générique ou réutilisable car il y avait des similitudes avec d'autres la je n'ai pas sut faire un héritage du code xaml et du code behind

    j’espère avoir été claire

    merci de votre aide par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut
    peut-être avoir la déclaration de la classe fille

  3. #3
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    la classe fille dont j'ai envie de réutiliser et graphiquementy et dans le code behind est celle la :
    Code xml : 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
    19
    20
    21
    22
    23
     
     <fiche:FicheGenerique x:Class="TidjaraApplication.Familles_Articles.FicheSimple"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:fiche="clr-namespace:TidjaraApplication.Article"
        mc:Ignorable="d"
        d:DesignHeight="450" 
        d:DesignWidth="945"
        Loaded="UserControl_Loaded"
        Unloaded="UserControl_Unloaded"
         xmlns:telerikRibbonBar="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.RibbonBar" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
     
        <!--<Grid x:Name="LayoutRoot" Background="White">-->
            <Grid Name="LayoutRoot">
     
     
     
        </Grid>
        <!--</Grid>-->
     
        </fiche:FicheGenerique>

    et son code behind :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     public partial class FicheSimple : FicheGenerique
        {
            #region Déclarations
            private Object ent;
            private ServiceWCFClient s_Wcf = new ServiceWCFClient();
            System.Type type_local , type;
            List<object> liste = new List<object>();
            List<MemberInfo> champs;
            private Dictionary<string, string> dico;
            private string requetes;
            List<RadMaskedTextBox> listeTextBox = new List<RadMaskedTextBox>();
            List<object> k ;
            List<string> listesReference = new List<string>();
            #endregion
     
            #region CHARGEMENT
            public FicheSimple()
            {
                InitializeComponent();
            }
     
            public FicheSimple(Entity entite,Type _type_local, Dictionary<string, string> dico, string requete)
            {
                InitializeComponent();
                this.type_local = _type_local;
                this.dico = dico;
                this.requetes = requete;
                this.ent = entite;
     
            }
    }

    comment faire pr créer un nouvel user control qui héritent de celle ci qui elle même héritent d'une autre

    merci bcp

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 156
    Points : 173
    Points
    173
    Par défaut
    Comme ce que tu as fait pour ficheSimple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <fiche:FicheSimple x:Class="TidjaraApplication.Familles_Articles.FicheSimple2 ..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public partial class FicheSimple2 : FicheSimple...
    Peut être que je ne comprend pas la question?


    Si tu parles d'héritage multiple ça n'existe pas en C#.

  5. #5
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    en fait c'est que pour le premier héritage fiche générique n'a pas de xaml alors j'ai pas put faire hériter un user control d'un autre user control qui a du code et du graphique est possible en silverlight?

  6. #6
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    quand j'ai essayé un héritage simple comme ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <My:FicheSimple x:Class="TidjaraApplication.Familles_Articles.FicheComplexe"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:My="clr-namespace:TidjaraApplication.Familles_Articles"
        mc:Ignorable="d"
        d:DesignHeight="300" d:DesignWidth="400">
     
        <Grid x:Name="LayoutRoot" Background="White">
     
        </Grid>
    </My:FicheSimple>
    et dans le code behind :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public partial class FicheComplexe : FicheSimple
        {
            public FicheComplexe()
            {
                InitializeComponent();
            }
        }

    J'ai eut cette erreur :
    Impossible de créer une instance de fiche simple
    Merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Archeone a raison, l'héritage multiple n'existe pas, celà veut dire qu'une fille ne peut pas à la fois hériter de sa mère et de sa tante !

    Par contre, une fille peut hériter de sa mère qui elle-même hérite de sa mère (la grand mère de la fille). Ou alors, la fille peut hériter de sa tante qui elle même hérite de sa mère.

    Pour ça tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class GrandMère
    {}
     
    public class Mère : GrandMère
    {}
     
    public class Tante: GrandMère
    {}
    après, tu peux choisir entre:
    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
     
     
    public class Fille
    {}
    //ou
     
    public class Fille: Mère
    {}
    //ou
     
    public class Fille: Tante
    {}
    //ou
     
    public class Fille: GrandMère
    {}
    mais il est inutile et impossible de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public class Fille: Mère :GrandMère
    {}
    et impossible de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public class Fille: Mère :Tante
    {}

Discussions similaires

  1. Héritage sur plusieurs niveaux
    Par L0rD59 dans le forum Doctrine2
    Réponses: 1
    Dernier message: 14/05/2013, 08h30
  2. [ZF 1.5] Suppression en cascade sur plusieurs niveaux
    Par Janitrix dans le forum Zend_Db
    Réponses: 12
    Dernier message: 12/05/2008, 02h38
  3. [SQL] Affichage sur plusieurs niveaux
    Par oim dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/12/2007, 14h52
  4. [Hibernate] Héritage sur plusieurs niveaux
    Par srvremi dans le forum Hibernate
    Réponses: 2
    Dernier message: 31/05/2006, 18h39

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