none
Appliquer un style pour tous mes ToolTip RRS feed

  • Discussion générale

  • bonjour,

    j' ai appliqué un style à mes controls dans le code xaml 
    pour cela j ai crée un fichier ressource "Styles_Perso.xaml "pour placer les différents styles pour les controls

    <ResourceDictionary>
    
    
    
     <ResourceDictionary.MergedDictionaries>
    
     <ResourceDictionary Source="Simple Styles.xaml"/>}" 
    
     </ResourceDictionary.MergedDictionaries>
    
    

    Donc si je place un control en mode design et que je lui affecte le style dans le code xaml ca marche

    Mais maintenant si je veux créer un control ToolTip depuis le code C# comment lui affecter le style défini dans Style_Perso.xaml
    peut on appliquer un style qui serait défini dans mon fichier de style xaml  Style_Perso.xaml ou faut que ce soit en c# 
    C possible ou faut il créer un style dans le code
    j' ai encore du mal à comprendre les interactions ou les liens  qui existent  entre le code c# qui peut générer  des objets graphiques et le language xaml  en mode design qui génère lui aussi des objets graphiques
    lundi 15 février 2010 22:08

Toutes les réponses

  • Bonjour,

     

    Vous pouvez utiliser la classe ResourceDictionary 

     ResourceDictionary res = (ResourceDictionary)Application
                                  .LoadComponent(new Uri("Styles_Perso.xaml", UriKind.Relative));
       Style style = (Style)res["mycontrolstyle"];
       monToolTip.Style = style;

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    mercredi 17 février 2010 13:53
  • Merci Alex trop coool :)
    vendredi 19 février 2010 11:42
  • bonjour, j' pensais que c' était ok mais a l' éxécution de l' appli trouve pas le fichier de ressource

    mon fichier Style_Perso de type ResourceDictionary se trouve à la racine de ma solution

    cette solution est de type de sortie :classe (dll)  elle contient mes Usercontrols que j' utilise dans ma solution final de type application , j' ai donc pas de fichier Style_Perso.xaml après compil .

    Du coup j'comprends  pas comment le code peut cibler le fichier .
    le terme  "UriKind.relative "  cible le repertoire ou est installé l' appli?


    alors j' ai essayé de mettre  comme propriétés du fichier Style_Perso.xaml la valeur de génération à "resource" au lieu de "page" mais pas mieux.

    voila, v tenter des trucs,si vous avez une idée merci.

    dimanche 21 février 2010 02:28
  • Bonjour,

     

    Votre application est une application WPF User Control Library ?

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 22 février 2010 08:53
  • Bonjour,

    oui  c ca 

    lundi 22 février 2010 09:52
  • Et vous avez ajouté le fichier .xaml a votre projet avant la compilation ?

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 22 février 2010 11:17
  • oui, puisque je l' utilise depuis le début du développement de ma solution qui me créer ma dll de mes UserControls, j ai appliqué des  styles sur mes controls  à partir du code XAML.
    et c'est dans cette solution que je veux appliquer des styles  sur certains controls de mes UserControls, mais depuis le code.
    donc quand je compil cette solution pas d' erreur puisque le code n' est pas executé vu que c'est une dll qui contient mes UserControls qui est crée.
    mais quand j' exécute la solution de type application qui utilise mes UserControls la erreur.

    ptète qui faut le copier aussi dans ma solution de type application pour que ca marche, c' est ptète ca que vous me demandez?
    jv essayer,c' est vrai quand y réfléchissant maintenant lorsqu' on defini des styles depuis le code XAML et qu' on compil le compilateur se sert du fichier Style_Perso.xaml pour la compilation et un fois la dll créé il' n' est plus nécessaire ce fichier le styles ont été appliqués définitivement. alors que ceux qu' on appliquera à partir du code eux le seront qu' à l' exécution et donc on aura besoin de ce  fichier ? moi je pensais qu' il était intégré dans la création de la dll !!

    j' dis des conneries ?

    v essayer en tout cas ;)
    • Modifié Dragonix mercredi 17 mars 2010 11:24
    mercredi 24 février 2010 20:35
  • bon j' viens d' essayer ca marche, merci Alex !! :)
    mercredi 24 février 2010 20:48