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 :

[XAML][Style/Template] Foreground ne s'applique pas


Sujet :

Windows Presentation Foundation

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut [XAML][Style/Template] Foreground ne s'applique pas
    Bonjour,

    Cela fait 2 jours que j'ai commencer en WPF a apprendre a me servir des style et Template (j'ai pu d'ailleur faire des effet vraiment très sympa ). Mais voila comme toute chose a une fin, j'ai un problème qui m'enrage.

    Il y de cela 15min j'ai délesté un sujet que je n'aurais pas du.
    Raison, problème résolu sans comprendre pourquoi ... Sauf que la, le problème est de retour

    Le problème:
    - Sur 2 de mes styles la couleur Foreground ne veut pas s'appliquer alors que aucun autre élément de mon logiciel n'as rencontrer ce problème

    Premier style "ToolTip":
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <Style TargetType="{x:Type ToolTip}">
            <Setter Property="Foreground" Value="{DynamicResource ToolTipTxt}" />
            <Setter Property="Template" Value="{DynamicResource TToolTip}" />
        </Style>
     
        <ControlTemplate x:Key="TToolTip" TargetType="{x:Type ToolTip}">
            <Border x:Name="Root">
                <Border BorderBrush="{DynamicResource ToolTipBorder}" BorderThickness="1" CornerRadius="2" Padding="4" Background="{DynamicResource ToolTipBack}">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                </Border>
            </Border>
        </ControlTemplate>

    Second Style "Menu":
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        <Style TargetType="{x:Type Menu}">
            <Setter Property="Template" Value="{DynamicResource TMenu}" />
        </Style>
        <Style TargetType="{x:Type MenuItem}">
            <Setter Property="Foreground" Value="{DynamicResource MenuItemTxt}" />
        </Style>
     
        <ControlTemplate x:Key="TMenu" TargetType="{x:Type Menu}">
            <Border HorizontalAlignment="Stretch" Width="Auto" CornerRadius="0,0,4,4" BorderBrush="{DynamicResource MenuBorder}" Margin="0,-1,0,0" BorderThickness="1" Background="{DynamicResource MenuBack}">
                <StackPanel ClipToBounds="True" Orientation="Horizontal" IsItemsHost="True" />
            </Border>
        </ControlTemplate>

    Je n'ai pas encore entièrement fini le code du menu donc normal s'il y as quelque incohérence si vous copier ce code (MenuItem n'as pas de ControlTemplate par exemple)

    Donc voila Je ne voit pas pourquoi le problème est revenu mais pense savoir pourquoi toute a l'heure il avait disparu:
    Des propriété Style dans mes fenêtre XAML qui pointaient sur des style non référencé.

    Qui peut m'aider ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Définis les ControlTemplates avant les Styles.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut
    Ça ne change strictement rien

    Et je me rend compte que même mes Label ne fonctionne plus comme je le veux.

    par défaut j'ai mis ceci
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <SolidColorBrush x:Key="LabelMainTxt" Color="White" />
     
        <Style TargetType="{x:Type Label}">
            <Setter Property="Foreground" Value="{DynamicResource LabelMainTxt}" />
        </Style>
    En théorie tous mes labels (sauf ceux attachés à un style défini) seront tous de la couleur indiquer.

    Sauf que la pratique ce n'est pas vraiment ça.

    Je debug une première fois tout va bien, la couleur s'applique bien, mais si je change la couleur et relance le debug, la couleur reste blanche
    Même si je défini la propriété Foreground dans le code XAML sur un label, ce dernier reste blanc.
    si ca peut aider a comprendre

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut
    Trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <Style x:Key="STextBlock" TargetType="{x:Type TextBlock}">
            <Setter Property="Foreground" Value="{DynamicResource TxtBlockTxt}" />
        </Style>
    Ce style était défini pour tout les TextBlock hors si j'ai compris le truc les éléments suivant sont constitué de TextBlock:
    Label, Menu (le texte), ListBoxItem (le texte) ... etc

    Donc pour les Style de TextBlock, une clé (x:Key="") doit être défini et ne pas faire en sorte comme moi que tout les TextBlock prennent tel couleur de texte.

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

Discussions similaires

  1. [Débutant] [Style/Template] Foreground qui ne s'applique pas
    Par Milyshyn76 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 21/06/2013, 10h56
  2. [Débutant] [Style/Template] Foreground qui ne s'applique pas
    Par Milyshyn76 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 05/06/2013, 10h04
  3. Style qui ne s'applique pas
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/06/2008, 11h47
  4. [Debutant]Feuille de style ne s'applique pas
    Par jamalmoundir dans le forum Mise en page CSS
    Réponses: 20
    Dernier message: 04/07/2007, 16h59
  5. [CSS] 1er style défini ne s'applique pas
    Par CTux dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/07/2005, 10h40

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