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] CustomControl et property


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut [XAML] CustomControl et property
    Bonsoir,

    J'ai créé un CustomControl regroupant 3 TextBlocks dans un panel. J'y ai associé des propriétés avec getters / setters, et ce composant fonctionne bien. (Je peux y mettre les valeurs que je veux).
    Maintenant, j'aimerai, depuis une fenêtre utilisant ce CustomControl, y ajouter un Trigger pour effectuer une animation.
    Voilà comment je pensais procéder :
    Code : 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
     
    <uc:MonComposant NomText="abcd"  PrenomText="efg" AgeText="20" Width="Auto" Height="50px" >
        <uc:MonComposant.RenderTransform>
                    <TransformGroup>
                        <RotateTransform x:Name="rotTransfo"  Angle="45" CenterY="30"/>
                    </TransformGroup>
        </uc:MonComposant.RenderTransform>
        <uc:MonComposant.Triggers>
              <EventTrigger RoutedEvent="UIElement.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                               <DoubleAnimation Storyboard.TargetName="rotTransfo" Storyboard.TargetProperty="Angle" From="0.0" To="360" Duration="0:0:3" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                 </EventTrigger>
        </uc:MonComposant.Triggers>
    </uc:MonComposant>
    et là à la compilation il me sort cette erreur :
    Erreur de génération inconnue, « MC3093 : impossible de définir la valeur de l’attribut Name « rotTransfo » sur l’élément « RotateTransform ». « RotateTransform » se trouve sous la portée de l’élément « MonComposant », qui avait déjà un nom inscrit quand il a été défini dans une autre portée. Ligne 57 Position 38. »
    Déjà je ne comprend pas vraiment cette erreur...

    Par contre si je fais ça :
    Code : 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
     
    <ListBox FontSize="15" Canvas.Bottom="140" Canvas.Left="30" Canvas.Right="150" Canvas.Top="40">
                <ListBoxItem IsSelected="True">Canada</ListBoxItem>
                <ListBoxItem>Spain</ListBoxItem>
                <ListBoxItem>France</ListBoxItem>
                <ListBoxItem>Allemagne</ListBoxItem>
     
        <ListBox.RenderTransform>
           <RotateTransform x:Name="rotTransfo" Angle="-20" CenterX="50" /> 
       </ListBox.RenderTransform>
        <ListBox.Triggers>
              <EventTrigger RoutedEvent="UIElement.MouseEnter">
                 <EventTrigger.Actions>
                     <BeginStoryboard>
                         <Storyboard>
                               <DoubleAnimation Storyboard.TargetName="rotTransfo" Storyboard.TargetProperty="Angle" From="0.0" To="360" Duration="0:0:3" />
                         </Storyboard>
                    </BeginStoryboard>
               </EventTrigger.Actions>
           </EventTrigger>
      </ListBox.Triggers>
    </ListBox>
    là, ça fonctionne.
    Comment faire pour que le trigger retrouve bien la propriété dans mon cas ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ca n'a peut-être rien à voir, mais essaie de mettre Name à la place de x:Name. J'ai pas encore trop bien compris ce que ça change, mais apparemment quelquefois il faut mettre "x:" et quelquefois non...

  3. #3
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    héhé
    A vrai dire, j'ai déjà essayer cette technique, dans la transformation dans le composant ListBox, il accepte bien le "x:Name" ou le "Name", et ça fonctionne toujours, tandis que que sur mon composant, il n'accepte que le "x:Name"...

Discussions similaires

  1. Xaml et Dependency property
    Par davjan dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 10/11/2010, 09h51
  2. [Xaml/C#:CustomControl] Comment accéder à des éléments du Template?
    Par SuprazZz dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 26/11/2008, 20h40
  3. Style dans le Generic.xaml pour un CustomControl d'une bibliothéque de classe
    Par olsimare dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 21/06/2008, 22h35
  4. Réponses: 1
    Dernier message: 26/11/2007, 18h46

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