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 :

[WPF] Charger des style dynamiquement


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 [WPF] Charger des style dynamiquement
    Bonjour à tous,

    Je voulais pouvoir charger des styles dynamiquement, j'avais pris exemple sur le blog de Thomas Lebrun.

    Et en fait, il ne me trouve aucun style, quand je debug, à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Type[] types = asm.GetTypes();
    Le tableau de types est vide.

    Pour information, le projet contenant le style contient uniquement un fichier Style.xaml contenant le ResourceDictionnary (projet générant une DLL).
    Quand je référence la dll et défini le style dans le App.xaml, la le style est bien reconnu.


    Merci d'avance

    Cordialement,
    NeoKript

  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
    Hello,

    Peut être que tu devrais ouvrir deux sujets pour poser tes deux questions...

    Concernant le chargement des styles : tu as bien suivi l'exemple du site de Frederic Queudret ? Surtout la déclaration de la classe partielle ?

    Afin que le dictionnaire de ressources de l’assembly satellite soit utilisable depuis une application, il est nécessaire d’indiquer un nom de classe que nous pourrons référencer. Cela se fait dans l’en-tête déclaratif du dictionnaire de ressource :
    x:Class="MTCParis.WPF.Themes.AquaGel.AquaGelButtonResource"
    Puis ajouter la déclaration partielle de la classe avec un constructeur qui effectue la phase d’initialisation (Ajouter une nouvelle classe du même nom dans le projet) :
    namespace MTCParis.WPF.Themes.AquaGel
    {
    public partial class AquaGelButtonResource
    {
    public AquaGelButtonResource()
    {
    this.InitializeComponent();
    }
    }
    }

  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 jmix90 Voir le message
    Hello,

    Peut être que tu devrais ouvrir deux sujets pour poser tes deux questions...

    Concernant le chargement des styles : tu as bien suivi l'exemple du site de Frederic Queudret ? Surtout la déclaration de la classe partielle ?
    Salut,

    En effet c'était bien cela le problème. Du coup je récupère bien le ResourceDictionnary dynamiquement mais quand j'appelle cette méthode le style n'est pas changé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void SetStyle(ResourceDictionary Resource)
            {
                this.Resources.MergedDictionaries.Clear();
                this.Resources.MergedDictionaries.Add(Resource);
            }
    Une idée ?

    Merci d'avance

  4. #4
    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
    J'ai changer les StaticResource en DynamicResource et du coup ça fonctionne reste plus que le problème de l'instance unique.

  5. #5
    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
    Citation Envoyé par NeoKript Voir le message
    reste plus que le problème de l'instance unique.
    Par contre, ouvre un nouveau sujet pour le pb d'instance unique

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

Discussions similaires

  1. Charger des UserControl dynamiquement
    Par klr54000 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/04/2011, 11h36
  2. Charger des schémas dynamiquement dans un job Talend
    Par coulio dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 05/04/2010, 00h04
  3. Problème pour charger des font dynamiquement et les utiliser (marche à moitié)
    Par rigolman dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 31/03/2009, 08h29
  4. Réponses: 2
    Dernier message: 13/03/2007, 17h07
  5. [Avancé][Optimisation] Charger des librairies dynamiquement
    Par Wookai dans le forum Général Java
    Réponses: 12
    Dernier message: 12/08/2005, 16h34

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