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 :

Définir un style dans un UserControl, depuis une application.


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 42
    Points : 34
    Points
    34
    Par défaut Définir un style dans un UserControl, depuis une application.
    bonjour,

    j'ai eu du mal à trouver un titre décrivant exactement mon soucis.

    voici l'exposé de mon problème :

    j'ai un UserControl
    dans mon UserControl, j'ai crée un composant TreeView, qui possède un resourceDictionary, défini comme suis :
    <UserControl ....>
    <TreeView x:Name="tree" >
    <TreeView.Resources>
    <ResourceDictionary Source="Styles/TreeView_DataTemplate.xaml" />
    </TreeView.Resources>
    ....
    </UserControl>

    dans treeView_DataTemplate.xaml, j'ai crée un style
    <Style TargetType="TreeView">...</Style>


    ce UserControl, une fois compilé, je le place dans le répertoire de mon application, car il est chargé dynamiquement (c'est imposé)

    jusque là, cela fonctionne.

    maintenant, on me demande de ne plus définir le ResourceDictionary dans mon UserControl, mais dans l'application.
    là je bloque.

    - je sais passer un objet à mon UserControl, depuis mon application.
    - je sais appeler une méthode de mon UserControl, depuis mon application.

    mon soucis ne se situe pas à ce niveau

    - je ne sais pas comment définir où est situé mon fichier xaml, contenant mon ResourceDictionary, et où est mon style dans ce fichier ceci dans mon application principale ...

    - je ne sais pas comment dire à mon treeView "tree", dans mon UserControl, quel ResourceDictionary, ou quel Style il doit utiliser, ceci en C#.
    est ce une ligne du type tree.Resource = ... ???
    si oui, je lui affecte quel objet ??? un Style, un resourceDictionary ???

    quelqu'un pourrait t-il m'aider, svp ?

    merci
    cordialement,
    Olivier

  2. #2
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Tu peux essayer de créer un Resource Dictionary ( TreeView.xaml ) contenant le style du TreeView. Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Style TargetType="TreeView">...</Style>
    -> c'est dans 'Project' -> 'Add Resource Dictionary'

    Dans ton fichier App.xaml tu n'as plus qu'à ajouter ton ResourceDictionary et normalement le style que tu as défini est propre à l'application... Aussi à chaque fois que tu va utiliser un TreeView le style sera utilisé.

    Tu auras dans ton fichier App.xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      <Application.Resources>
        <ResourceDictionary>
          <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Styles/TreeView.xaml" />
          </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
      </Application.Resources>

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par binoo Voir le message
    Tu peux essayer de créer un Resource Dictionary ( TreeView.xaml ) contenant le style du TreeView. Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Style TargetType="TreeView">...</Style>
    -> c'est dans 'Project' -> 'Add Resource Dictionary'

    Dans ton fichier App.xaml tu n'as plus qu'à ajouter ton ResourceDictionary et normalement le style que tu as défini est propre à l'application... Aussi à chaque fois que tu va utiliser un TreeView le style sera utilisé.

    Tu auras dans ton fichier App.xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      <Application.Resources>
        <ResourceDictionary>
          <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Styles/TreeView.xaml" />
          </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
      </Application.Resources>

    Je confirme: si le style doit être définit au niveau de l'application, c'est comme cela qu'il faut faire

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/04/2014, 00h22
  2. Réponses: 11
    Dernier message: 09/12/2010, 11h32
  3. Appel de fonction d'un UserControl depuis une Form
    Par belzeluc dans le forum Windows Forms
    Réponses: 7
    Dernier message: 14/09/2007, 16h42
  4. Réponses: 5
    Dernier message: 07/06/2006, 12h11
  5. [APPLET] beans dans applet appelé depuis une page HTML
    Par Néo-Tony dans le forum Applets
    Réponses: 1
    Dernier message: 04/01/2006, 14h54

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