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

Silverlight Discussion :

control template, et xaml en mode design ?


Sujet :

Silverlight

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut control template, et xaml en mode design ?
    bonjour,

    j'ai créé plusieurs "control template" nikel ca marche parfait, mais ...

    est il possible de faire en sorte qu'en mode design les "dependency properties" de ces "control template" apparaissent (valorisées par défaut) dans le xaml ?

    je m'explique avec un exemple

    mettont que j'ai créé un control template "Titre" dont la seule fonction est d'afficher un texte (je sais pas très glorieux mais c'est pour l'exemple :

    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
    23
    24
    25
    26
    27
    28
    29
    30
     
     public class Titre : Control
        {      
            public Titre ()
            {
                this.DefaultStyleKey = typeof(Titre);
            }
            #region titre
     
            public string titre
            {
                get { return (string)GetValue(titreProperty); }
                set { SetValue(titreProperty, value); }
            }
     
            public static readonly DependencyProperty titreProperty = DependencyProperty.Register(
              "titre",
              typeof(titre),
              typeof(Titre),
              new PropertyMetadata("ici le titre", new PropertyChangedCallback(OntitreChanged)));
     
     
            private static void OntitreChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
            {
                ((Titre)d).OntitreChanged(e);
            }
            protected virtual void OntitreChanged(DependencyPropertyChangedEventArgs e)
            {           
            }
            #endregion
    et pour la partie dictionnaire de ressource :
    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
     
    <ResourceDictionary
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:control="clr-namespace:MyApplication.Controls">
        <Style TargetType="control:Titre" >               
            <Setter Property="Template">
                <Setter.Value>                
                    <ControlTemplate TargetType="control:Titre">
                       <Grid>
                          <TextBlock text={TemplateBinding titre}/>
                       </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>
    si j'utilise mon control template ca marche mais lorsque je le drop dans ma page silverlight au niveau du xaml j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <my:Titre Height="23" x:Name="Titre1" Width="75"  />
    la propriété titre n’apparaît pas dans le Xaml bien qu'elle soit correctement valorisée et si je l'ajoute en changent sa valeur cela fonctionne

    ma question est donc comment obtenir en mode design au moment de l'utilisation de mon control le code suivant (uniquement en dropant mon control)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <my:Titre Height="23" x:Name="Titre1" titre="ici le titre" Width="75"  />
    un attribut ?,

    d'avance merci pour les pistes

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    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 025
    Points : 5 462
    Points
    5 462
    Par défaut
    A la place de typeof(titre) c'est pas plutot typeof(string)?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            public static readonly DependencyProperty titreProperty = DependencyProperty.Register(
              "titre",
              typeof(string),
              typeof(Titre),
              new PropertyMetadata("ici le titre", new PropertyChangedCallback(OntitreChanged)));

Discussions similaires

  1. UserControl.Controls utilisable en mode design
    Par zax-tfh dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/03/2009, 09h17
  2. Réponses: 0
    Dernier message: 28/01/2009, 03h46
  3. Réponses: 0
    Dernier message: 05/02/2008, 14h23
  4. ajout d'un control dynamiquement en mode design
    Par Pol63 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/02/2008, 23h20
  5. Mode Design
    Par lecharcutierdelinux dans le forum JBuilder
    Réponses: 4
    Dernier message: 04/02/2004, 16h57

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