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] Creation d'un custom Style


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 163
    Par défaut [Style] Creation d'un custom Style
    Bonjour,

    J'ai créé une classe hériant de Style afin de modifier la sérialisation de ses données:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class MyStyle : Style
    {
        public MyStyle() : base()
        {
        }
    
        public MyStyle(Type targetType) : base(targetType)
        {
        }
    
        public MyStyle(Type targetType, Style basedOn)
                : base(targetType, basedOn)
        {
        }
    
        public bool ShouldSerializeResources(DependencyObject pDependencyProperty)
        {
            return false;
        }
    
        public bool ShouldSerializeBasedOn(DependencyObject pDependencyProperty)
        {
            return false;
        }
    }

    Si je l'utilise en code behind, pas de problème.
    Par contre, si je l'utilise dans du xaml, j'obtient une erreur de compilation :
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <local:MyStyle x:Key="TextBoxStyle" TargetType="TextBox" >
        <Setter Property="Margin" Value="5,0,0,0"/>
    </local:MyStyle>

    'Margin' member is not valid because it does not have a qualifying type name.
    Est-ce qu'il y a quelque chose à rajouter dans la classe pour pouvoir l'utiliser dans du xaml ?

    Merci.

  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
    Par défaut
    Salut,

    Tu as essayé d'utiliser l'héritage via la propriété BasedOn ?
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <Style x:Key="TextBoxStyle" TargetType="TextBox" >
          <Setter Property="Margin" Value="5,0,0,0"/>
        </Style>
        <local:MyStyle x:Key="MyTextBoxStyle" TargetType="TextBox" BasedOn="{StaticResource TextBoxStyle}" >
        </local:MyStyle>

    Ça ne dit pas pourquoi tu as cette erreur, mais ça peut être une manière de contourner le problème (si jamais ça marche, bien sûr).

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    J'ai pas de réponse mais peut etre une piste de réflexion :
    La classe Setter http://msdn.microsoft.com/en-us/libr...ws.setter.aspx utilise 2 attributs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [XamlSetMarkupExtensionAttribute("ReceiveMarkupExtension")]
    [XamlSetTypeConverterAttribute("ReceiveTypeConverter")]
    J'ai pas forcément bien saisi ce qu'ils permetent mais j'ai l'impression qu'ils servent à récupérer à la fois le "targetType" mais surtout le namespace courant du Setter (ici c'est on local, et donc par suite il ne trouverait pas le Margin du button qu'il ne connait a priori pas. La où mon raisonement cloche c'est qu'il devrait t'engueler pour le bouton .

    En tout cas ca m'interresse d'avoir une réponse

Discussions similaires

  1. [Ressources biblio] SAS with Style: Creating Your Own ODS Style Template for PDF Output
    Par datametric dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/07/2009, 19h56
  2. Comment ajouter un style impression à ma feuille de style
    Par cedric/copy dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 23/03/2009, 19h49
  3. [Graphic] Creation d'un Pen.style personnalisé
    Par Bourak dans le forum Langage
    Réponses: 0
    Dernier message: 13/06/2008, 10h03
  4. [Styles]lister les propriétés des styles
    Par peyo_le_fou dans le forum Word
    Réponses: 6
    Dernier message: 16/05/2007, 12h33
  5. Réponses: 5
    Dernier message: 12/06/2006, 09h31

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