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 :

Problème de visualisation de composants entre XAML et code procédural [Fait]


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Par défaut Problème de visualisation de composants entre XAML et code procédural
    Bonjour,

    je n'arrive pas à "voir" en code procédural un de mes composants TextBox qui se trouvent dans une ListView et je ne comprends pas pourquoi.

    Voici le code 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
    <ListView x:Name="listView" ItemsSource='{Binding}'>
                <ListView.View>
                    <GridView>
                        <GridViewColumn Width="140">
                         <GridViewColumnHeader x:Name="order1TT" Content="Order1"   Tag="order1" Click="SortClick"  />
                         <GridViewColumn.CellTemplate>
                           <DataTemplate>
                             <Grid>
                              
                                <TextBox x:Name="order1TextBox" Style="{StaticResource GridEditStyle}" Text="{Binding XPath=order1, Mode=TwoWay}"/>   
                             </Grid>
                           </DataTemplate>
                         </GridViewColumn.CellTemplate>
                       </GridViewColumn>
            </GridView>
          </ListView.View>
        </ListView>
    si j'essaye d'appeler ma TextBox "order1TextBox" dans mon code procédural:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private void AddRowClick(object sender, RoutedEventArgs e)
            {
                string order1 = order1.Text.Trim();}
    il ne me le reconnaît pas.

    D'où vient-le problème ?

    Merci d'avance de votre aide

  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 : 43
    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
    Tu ne peux pas directement accéder à un contrôle déclaré dans un Template. Il faut utiliser la méthode FindName du Template :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void AddRowClick(object sender, RoutedEventArgs e)
    {
        TextBox tb = (listView.View as GridView).Columns[0].CellTemplate.FindName("order1TextBox") as TextBox;
        string order1 = tb.Text.Trim();
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Par défaut
    ok, mais le code me remonte l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No overload for method 'FindName' takes '1' arguments
    la méthode FindName demande une deuxième valeur de type FrameworkElement.

    Une idée de ce que ça représente ?

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Normalemnt, il ne doit y avoir qu'un paramètre... http://msdn.microsoft.com/en-us/libr....findname.aspx
    Tu es sur d'appeler la méthode correctement ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2002
    Messages : 177
    Par défaut
    le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     private void AddRowClick(object sender, RoutedEventArgs e)
            {
                TextBox tb = (listView.View as GridView).Columns[0].CellTemplate.FindName("order1TextBox") as TextBox;
    y me demande bien une seconde valeur...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Essaie avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox tb = (listView.View as GridView).Columns[0].CellTemplate.FindName("order1TextBox", (listView.View as GridView).Columns[0]) as TextBox;

Discussions similaires

  1. [awt] Problème de raffraichissement de composant
    Par FakuFaku dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 21/07/2005, 18h32
  2. [SAX] Problème SAX lecture du texte entre les balises
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/07/2005, 17h24
  3. Problème de lien sur date entre Access et MySQL-4.1
    Par michou42 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/04/2005, 23h31
  4. [CONCEPTION MCD] Problème avec les clés composées
    Par fabriceMerc dans le forum Schéma
    Réponses: 3
    Dernier message: 14/02/2005, 09h43
  5. [Designer] Problème de transfert de données entre modul
    Par BILLYPATOU dans le forum Designer
    Réponses: 11
    Dernier message: 09/03/2004, 18h15

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