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 :

héritage récupérer le Background original [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier Avatar de kerinel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Points : 107
    Points
    107
    Par défaut héritage récupérer le Background original
    Bonjour,
    J'ai créé un NumTextBox (sans partie en xaml, tout tient dans un .cs) qui hérite de TextBox.
    Afin de changer le fond quand le contenu est en dehors des limites imposées, j'ai une Brush ErrorBackground et, à l'instanciation je garde la Brush Background initiale en mémoire avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     normalBackground = this.Background;
    pour remettre le bon fond quand c'est corrigé.
    Or, lorsque j'utilise cette ligne dans mon constructeur, je ne récupère pas le Background espéré, c'est à dire celui utilisé par un TextBox normal : dans mon application, les TextBox ont un fond blanc et mes NumTextBox se confondent avec le reste (je fais la même chose avec la BorderBrush).
    J'avais essayé avec une partie en xaml mais ça ne marchait pas non plus (c'est pour ça que je l'ai enlevé car en fait je n'en ai pas besoin mais ça ne résout rien).
    A priori, je ne récupère pas la bonne Brush au départ, et je ne voie pas comment / où la récupérer.

    merci pour votre aide,
    Bon code,
    kerinel

  2. #2
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    Salut kerinel,

    Je crois que dans le style de base d'une TextBox, le background est issue d'une ressource Background="{StaticResource WindowBackgroundBrush}"

    Tu peux utiliser cela dans le style de ton composant pour lui redonner la couleur de base... (avec un trigger par exemple)

    @+

  3. #3
    Membre régulier Avatar de kerinel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 103
    Points : 107
    Points
    107
    Par défaut
    Salut koyot3,
    merci pour ta réponse. J'ai regardé un peu de ce coté mais il y a deux problèmes
    - il faut alors trouver la bonne brosse par défaut (pas forcément le plus simple )
    - Si le programmeur décide d'utiliser cette NumTextBox avec un fond bleu par défaut, ce sera écrasé.

    En fait, j'ai pu voir que mes normalBrush étaient à null, d'où l'utilisation des Brush des composants parent, et ce parce que je récupérais la valeur du Background avant l'initialisation.

    J'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Initialized += new EventHandler(NumTextBox_Initialized);
    dans le constructeur et déplacé ma sauvegarde dans NumTextBox_Initialized. Et ça marche impec.

    Merci quand même pour ton aide,
    Bon code,
    kerinel

    edit: typo

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

Discussions similaires

  1. Exemple de background-clip et background-origin sur body
    Par djun1 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/11/2012, 22h15
  2. Réponses: 8
    Dernier message: 15/03/2011, 15h22
  3. Récupérer le PPID original
    Par DSGSLA dans le forum AIX
    Réponses: 5
    Dernier message: 08/10/2010, 13h09
  4. récupérer le background d'un picturebox
    Par devin59 dans le forum C#
    Réponses: 1
    Dernier message: 14/04/2008, 16h27
  5. Récupérer la table d'origine du champs
    Par adelavarenne dans le forum Bases de données
    Réponses: 7
    Dernier message: 02/04/2004, 15h38

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