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 :

Style par défaut + thème Aero


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut Style par défaut + thème Aero
    Bonjour,

    Je viens d'être confronté à un problème qui me semble tout bête mais auquel je ne trouve pas de solution.

    En gros je travaille sous Windows XP et j'aimerai en plus appliquer le style Aero à mes composants.
    Du coup, dans mon App.xaml, j'ai rajouté la ligne suivante :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />

    Résultat des courses, j'ai des composants un peu plus stylés (notamment les ComboBox).

    Mon problème est que j'aimerai en plus surcharger le style par défaut de certains contrôles.
    D'habitude, cela se fait tout seul en ne spécifiant pas d'attribut x:Key.
    Malheureusement, si je fais ça, je perds le style Aero...

    Et si je rajoute un attribut
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    BasedOn={StaticResource {x:Type LeTypeDeMonControle}}
    , j'ai une StackOverflow (ce qui semble normal).

    Ma question est donc : comment définir un style par défaut pour mes contrôles sans perdre le thème Aero ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 77
    Par défaut
    Tu as essayé une syntaxe du genre :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Style x:Key={x:Type LeTypeDeMonControle} BasedOn={StaticResource {x:Type LeTypeDeMonControle}} TargetType={x:Type LeTypeDeMonControle} ></Style>

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par Whisperer Voir le message
    Tu as essayé une syntaxe du genre :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Style x:Key={x:Type LeTypeDeMonControle} BasedOn={StaticResource {x:Type LeTypeDeMonControle}} TargetType={x:Type LeTypeDeMonControle} ></Style>
    C'est justement cette syntaxe qui donne un StackOverflow car ça crée une référence circulaire sur le style (on lui dit de se baser sur lui-même).

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Il semble avoir un moyen de contournement :
    http://stackoverflow.com/questions/9...rflowexception

  5. #5
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Ce qui m'embête c'est que ça limite grandement au niveau de la généricité.
    Mon style est défini dans un dictionnaire de ressources afin de pouvoir être réutilisé par plusieurs projets.
    Dans chacun des projets, j'importe ce dictionnaire de ressources dans le App.xaml, en même temps que le thème Aero.

    Je ne vois pas trop comment garder mon style dans un dico, tout en ne l'important qu'à un seul endroit dans mes projets.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 77
    Par défaut
    C'est lesquels les controles dont tu voudrais surcharger le style ?
    J'ai fait un essai avec un bouton, en utilisant la syntaxe ci dessus, et j'ai pas de probleme d'overflow ... (Je suis sous Vista et j'ai désactivé Aero)

Discussions similaires

  1. Modifier le style par défaut d'un document
    Par grrimag dans le forum Word
    Réponses: 2
    Dernier message: 04/09/2007, 12h38
  2. Définir le style par défaut d'un JTextPane
    Par Silverstone dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/06/2007, 20h48
  3. Réponses: 1
    Dernier message: 25/05/2007, 17h29
  4. [CKEditor] changer le style par défaut
    Par dedel53 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 27/03/2007, 09h21
  5. [CSS] copie des styles par défaut html...possible?
    Par luta dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 27/10/2005, 08h50

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