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 :

Contenu d'un UserControl defini dans le XAML


Sujet :

Silverlight

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut Contenu d'un UserControl defini dans le XAML
    Bonour,

    J'ai quelque difficulté à comprendre exactemement le fonctionnement des userControl sur un point:

    Je souhaite créer un control (qui ce rapproche d'une listebox) et souhaite donc ajouter des items a celui ci (coté XAML).

    Voici le code de mon control
    XAML
    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
    <UserControl x:Class="Test.UCBarreAction.ChoixAction"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Width="Auto" Height="23" >
     
    <Grid x:Name="LayoutRoot" Background="{x:Null}" Height="23">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="24"/>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="24"/>
    </Grid.ColumnDefinitions>
     
    <Rectangle HorizontalAlignment="Left" Margin="0,0,0,0" x:Name="rctFond" Width="23" Fill="#FFE9EEEE" Stroke="{x:Null}" StrokeThickness="0"/>
    <Rectangle Margin="0,0,0,0" Fill="#FFC5C5C5" Stroke="{x:Null}" StrokeThickness="0" HorizontalAlignment="Right" x:Name="rctBordure" Width="1"/>
     
    <StackPanel Grid.ColumnSpan="3"  x:Name="stkChoix"/>
     
    </Grid>
    Le CS
    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
    namespace Test.UCBarreAction
    {
        [TemplatePart(Name="ListeChoix", Type=typeof(StackPanel))]
        public partial class ChoixAction : UserControl
        {
     
             public ChoixAction()
            {
                InitializeComponent();
     
                //Bon, cette ligne ne marche pas comme vous pouvez vous en douter  mais j'ai testé des trucs
                stkChoix = GetTemplateChild("ListeChoix") as StackPanel;
            }
        }
    }
    Et voila le XAML de ma page ou j'utilise mon control (sachant que les ItemChoix sont également des UserControl)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <UCBarreAction:ChoixAction >
      <UCBarreAction:ChoixAction.ListeChoix>
        <UCBarreAction:ItemChoix Text="Actions" Valide="True"/>
        <UCBarreAction:ItemChoix Text="Résumé" Valide="True"/>
      </UCBarreAction:ChoixAction.ListeChoix>
    </UCBarreAction:ChoixAction>
    Voilà, le but est que les ItemChoix que je déclare comme enfant de L'userControl ChoixAction se retrouve dans son StackPanel stkChoix. j'espère que je suis clair.

    Je me doute bien que je m'y suis pas pris de la bonne manière mais je ne trouve pas de tutoriel clair sur le net à propos de ce point.

    Donc si vous savez comment faire ou que vous connaisser un site qui l'explique merci de me répondre.

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Il ne faut pas faire un UserControl, mais un Control ce qui est totalement différent.

    J'ai pas encore vu de tuto sur la réalisation de Control (jvais ptet en faire un d'ailleurs).

    Sinon un exemple rapide ici (mais c'est plutot pour les templates).
    http://broux.developpez.com/articles...ilverlight/#L2

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    J'ai pas encore vu de tuto sur la réalisation de Control (jvais ptet en faire un d'ailleurs).
    Ben, tu as mon article sur la création de controls/usercontrols en WPF (mais c'est pareil en SL)

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    mmh en effet j'étais un peu optimiste sur les possibilités d'un userControle.
    Je vais me plonger dans les tutos que vous m'avez indiqué
    Merci

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

Discussions similaires

  1. Utilisation d'un resx dans le XAML d'un UserControl
    Par adaneels dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 26/01/2012, 10h35
  2. Visibilité des champs XAML d'une UserControl déclaré dans une DLL
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 24/12/2011, 00h25
  3. Contenu d'un champ tronqué dans mon input box
    Par Marmot dans le forum ASP
    Réponses: 2
    Dernier message: 27/10/2004, 13h30
  4. Afficher le contenu d'un fichier xls dans un DBgrid
    Par bianconeri dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/09/2004, 16h35
  5. Réponses: 2
    Dernier message: 16/07/2004, 09h30

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