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 :

[WPF] datatemplate acces aux controls


Sujet :

Windows Presentation Foundation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [WPF] datatemplate acces aux controls
    Bonjour,

    Je souhaite pouvoir acceder aux controls lie a un datatemplate.

    En fait j'ai une listbox qui contient (via databinding et datatemplate donc dynamique) une liste d'expander et je souhaite pourvoir accéder (en codebehind) a un label contenu dans l'expander. Voici le code du template et de la liste

    <DataTemplate x:Key="AlbumTemplate2">
    <Expander x:Name="ExpanderRS" Width="auto" Height="auto" IsExpanded="False" Header="{Binding Mode=OneWay, XPath=@name}">
    <Grid Height="auto">
    <Label Margin="63.84,0,62.16,8" x:Name="NbPhoto" Height="23.962"/> </Grid>
    </Expander>
    </DataTemplate>

    <ListBox ... IsSynchronizedWithCurrentItem="True" x:Name="listRS" ItemTemplate="{DynamicResource AlbumTemplate2}" ItemsSource="{Binding Mode=OneWay}" SelectionChanged="RSide"/>

    Mon but est biensur de pouvoir modifier via un evenement ce label.
    Est ce que quelqu'un a une idee?

    Merci.

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Expander exp = (Expander)this.listRS.ItemTemplate.FindName("ExpanderRS", this.listRS);

    Et tu contenus de parcourir comme ca jusqu'a atteindre ton label

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    oki merci pour l'information.

    Cordialement,
    MrCyprom.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Salut,

    je fais péter une trouvaille au passage. Pour retrouver un contrôle dans toute la fenêtre, on peut affecter la propriété Name du contrôle et le déclarer dans le scope global de la fenêtre de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    this.Name = "mon_controle";
    (Application.Current.MainWindow as Frm_Main).RegisterName(this.Name, this);
    Après, il suffit simplement de refaire appel au contrôle grâce à FindName :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Application.Current.MainWindow.FindName("mon_controle") as UC_ControlePerso;
    L'important c'est de l'enregistrer dans la fenêtre principale de l'appli ou dans un Panel de haut niveau.

    La seule question que je me pose c'est si ça prend des ressources importantes au niveau mémoire, si seulement l'adresse mémoire du contrôle est référencée ou si c'est toute l'arborescence du contrôle...si qqun a la réponse, elle est bienvenue

    @+

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

Discussions similaires

  1. Accès aux controles dans un formulaire
    Par tonton67 dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/03/2008, 14h10
  2. Réponses: 2
    Dernier message: 24/07/2007, 17h53
  3. Acces aux controles d'un form depuis en module
    Par tomkich dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/02/2007, 18h18
  4. [WPF] Pb accès aux ressources
    Par hepsilonz dans le forum Framework .NET
    Réponses: 1
    Dernier message: 13/01/2007, 02h13
  5. [VB.net] Acces aux controles d'une form a partir d'une autre
    Par Fab62_ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/01/2006, 13h47

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