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

C# Discussion :

accès à un composant d un template


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Apprenti BTS Informatique
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Apprenti BTS Informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 21
    Points
    21
    Par défaut accès à un composant d un template
    Bonjour à tous,

    Pour le besoin de mon application j'ai créé un control Template avec des composant comme des textbox dedans

    J'arrive a controler le control template mais pas les composant à l'intérieur

    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
    31
    <ControlTemplate x:Key="TabTemplate"  >
                <Grid x:Name="grid1" x:Uid="grid1">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="5*"/>
                        <RowDefinition Height="20*"/>
                        <RowDefinition Height="2*"/>
                        <RowDefinition Height="5*"/>
                        <RowDefinition Height="30*"/>
                        <RowDefinition Height="30*"/>
                        <RowDefinition Height="2*"/>
                        <RowDefinition Height="5*"/>
                        <RowDefinition Height="15*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
     
                        <ColumnDefinition Width="5*"/>
                        <ColumnDefinition Width="20*"/>
                        <ColumnDefinition Width="5*"/>
                        <ColumnDefinition Width="60*"/>
                        <ColumnDefinition Width="10*"/>
     
     
                    </Grid.ColumnDefinitions>
                    <Image x:Uid="1" Source="{Binding Path=PhotoInvite}" Grid.Column="1" Grid.Row="1" Height="107" HorizontalAlignment="Left" Name="imageInvite" Stretch="Fill" VerticalAlignment="Top" Width="127" Grid.RowSpan="4" />
                    <Image Grid.RowSpan="3" Source="{Binding Path=PHOTO_PERSONNE}" Height="107" HorizontalAlignment="Left" Name="imageUtilisateur" Stretch="Fill" VerticalAlignment="Top" Width="127" Grid.Row="5" Grid.Column="1" />
                    <Button x:Name="buttonWebcamInvite" Content="?" FontFamily="Webdings" Grid.Column="1" Grid.Row="4" Height="23" HorizontalAlignment="Left" Margin="0,34,0,0"  VerticalAlignment="Top" Width="29" Click="buttonWebcamInvite_Click"/>
                    <Button Content="?" FontFamily="Webdings" Height="23" HorizontalAlignment="Left" Name="buttonWebCamUtilisateur" VerticalAlignment="Top" Width="29" Grid.Column="1" Grid.Row="8" />
                    <ListBox Grid.Column="3" Grid.Row="2" Grid.RowSpan="6" Height="233" HorizontalAlignment="Left" Name="listBoxDiscussion" VerticalAlignment="Top" Width="414" Grid.ColumnSpan="2"  />
                    <Label Content="{Binding Path=PrenomInvite}" Grid.Column="3" Grid.Row="1" Height="28" HorizontalAlignment="Left" Margin="0,19,0,0" Name="NomInvite" VerticalAlignment="Top" Width="68" />
                </Grid>
                </ControlTemplate>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    T
    abItem TI = new TabItem();
     
     
                TI.Width = 75;
                TI.Height = 25;
                ContentControl CC = new ContentControl();
      ControlTemplate CT =Application.Current.FindResource("TabTemplate") as ControlTemplate;
    Comment atteindre les autres composants
    Merci d'avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Bonjour bobylastar49,
    j'ai eu le même problème sur un de mes user control dans lequel j'avais une datagrid et dans laquelle il y avait un expander et une encore une datagrid, et comme toi impossible d'accéder à l'expander et sa datagrid.

    J'ai utilisé la méthode suivante

    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
     
    private static T GetVisualChild<T>( Visual parent ) where T : Visual
      {
          T child = default( T );
     
          int numVisuals = VisualTreeHelper.GetChildrenCount( parent );
     
          for ( int i = 0 ; i < numVisuals ; i++ )
          {
            Visual v = ( Visual ) VisualTreeHelper.GetChild( parent, i );
            child = v as T;
     
            if ( child == null )
              child = GetVisualChild<T>( v );
            if ( child != null )
              break;
          }
     
          return child;
        }
      }
    Tu pourras trouver ta listbox comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ListBox oLb = GetVisualChild<ListBox>(CC);
    et y accéder après.

    Cordialement.

    Raph.

Discussions similaires

  1. [VBA][OLE] Problème d'accès aux composants
    Par generalgreg dans le forum VBA Access
    Réponses: 7
    Dernier message: 13/06/2009, 13h19
  2. Acces aux composants d'une autre class
    Par Yann39 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 13/01/2007, 22h16
  3. Réponses: 2
    Dernier message: 14/06/2005, 14h00
  4. [JTabbedPane] Accès à des composants dynamiques
    Par SamRay1024 dans le forum Composants
    Réponses: 8
    Dernier message: 26/05/2004, 13h04

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