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 :

Chargement dynamique de XAML


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 84
    Par défaut Chargement dynamique de XAML
    Bonjour à tous,

    Nouvelle grosse question: j'ai un Custom UserControl qui hérite de TabControl et je souhaite pouvoir charger et décharger les TabItem qu'il contient.

    Cas pratique pour expliquer:
    J'ai une application qui permet de charger dans différents onglets des sous applications, comme un tableur ou un éditeur de photos.
    Si dans mon premier onglet j'ai un tableur, mon UserControl (qui s'appelle MenuTab), contient différents TabItem qui représentent les différents menus ,avec leur actions, du tableur. Si je change d'onglet pour mettre mon visionneur de photos, il faut que les items du tableurs soient enlevés et que je charge ceux du visionneur.

    Donc pour l'instant, j'ai une bibliothèque de composants, où se trouve mon Custom UserControl, et dans mon control, j'ai ajouté une méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void LoadXaml(string uri)
            {
                StreamReader xamlStream = new StreamReader(uri);
                MonTabItem smi = (MonTabItem) XamlReader.Load(xamlStream.BaseStream);
     
                this.Items.Add(smi);
            }
    Mon fichier XAML qui était lu ressemblait à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <MonTabItem Header="toto">hello</MonTabItem>
    (MonTabItem est un Custom UserControl hérité de TabItem mais qui ne fait rien de particulier)

    Cependant, à l'exécution j'avais une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cannot create instance of 'Window1' defined in assembly 'Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Exception has been thrown by the target of an invocation.  Error in markup file 'Window1.xaml' Line 1 Position 9.


    EN espérant que vous pourrez encore m'aider. Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    As-tu une InnerException ? Car, pour le moment, on a pas bcp d'informations sur pourquoi ca plante

Discussions similaires

  1. [C#] Static Resource introuvable avec un chargement dynamique de XAML
    Par harrylahache dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 16/09/2011, 14h46
  2. Chargement dynamique d'un fichier .xaml
    Par fterf dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 04/03/2009, 16h58
  3. [jar]chargement dynamique.
    Par Teddy-htk dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 27/04/2006, 15h19
  4. Dll a chargement dynamique
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 05/06/2003, 22h47
  5. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 18h25

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