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 :

Récuperer valeur datatemplate


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Récuperer valeur datatemplate
    Bonjour à tous

    Voici mon problème

    J'essaye de récupérer une valeur d'un TextBox dans un DataTemplate d'une Listview mais je n'y ai pas accès à partir du code behind

    voici le code de ma Listview
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <ListView x:Name="LST_Client" Margin="0,210.987,0,0" DataContext="{Binding}" ItemsSource="{Binding}" SelectionMode="Single" FontSize="10" HorizontalAlignment="Left" Width="295" SelectionChanged="LST_Client_SelectionChanged">
                <ListView.View>
                    <GridView>
                        <!--Effacement des Header-->
                        <GridView.ColumnHeaderContainerStyle>
                            <Style>
                            	<Setter Property="UIElement.Visibility" Value="Collapsed"/>
                            </Style>
                        </GridView.ColumnHeaderContainerStyle>
                    	<GridViewColumn CellTemplate="{StaticResource ClientItemTemplate}"/>
                    </GridView>
                </ListView.View>
            </ListView>

    Le DataTemplate
    Code xml : 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
     
    <Window.Resources>
     
            <DataTemplate x:Key="ClientItemTemplate">
                    <Grid>
                        <StackPanel Orientation="Horizontal">
                            <WrapPanel Background="#FF9B9B9B">
                                <Image Source="/Protec;component/Ressources/Images/user.png" Height="50" Width="50" HorizontalAlignment="Left" />
                            </WrapPanel>
                            <StackPanel Orientation="Vertical" Background="{StaticResource MonBleuDegrade}">
                            <TextBlock Text="{Binding a}" Visibility="Hidden" Name="TXT_CodeId" />
                            <TextBlock Text="{Binding b}" Margin="5,0,0,0" HorizontalAlignment="Left" Width="195" TextWrapping="WrapWithOverflow" FontFamily="Palatino Linotype" FontSize="11" FontWeight="Bold" />
                                <TextBlock Text="{Binding c}" Margin="5,0,0,0" HorizontalAlignment="Left" Width="195" TextWrapping="WrapWithOverflow" FontFamily="Palatino Linotype" FontSize="10" />
                            </StackPanel>
                        </StackPanel>
                    </Grid>
            </DataTemplate>
     
        </Window.Resources>

    Je veux récupérer la valeur de mon TextBlock TXT_CodeId dans le DataTemplate à partir de l'évènemment SelectionChanged de ma ListView

    Merci pour votre aide

  2. #2
    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,

    Pour récupérer un contrôle d'un DataTemplate d'une ListView, tu dois d'abord récupérer le ListViewItem :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    ListViewItem lvi = (ListViewItem)myList.ItemContainerGenerator.ContainerFromItem(maListView.SelectedItem);

    Ensuite, il faut récupérer le contrôle en utilisant VisualTreeHelper.

    Tu as un exemple ici :
    http://msdn.microsoft.com/fr-fr/library/bb613579.aspx

  3. #3
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci pour ce lien

    C'est exactement ce qu'il me fallait

    Mon Problème est résolu


  4. #4
    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
    Super, la prochaine fois penses au bouton

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

Discussions similaires

  1. récuperer valeur d'un formulaire html
    Par Ice-tea dans le forum Langage
    Réponses: 15
    Dernier message: 18/10/2006, 09h08
  2. récuperer valeur ds zone de texte
    Par malabar92 dans le forum Access
    Réponses: 8
    Dernier message: 24/07/2006, 16h36
  3. Récuperer valeur d'une colonne d'une base de données
    Par Mihalis dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/04/2006, 10h55
  4. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  5. Réponses: 12
    Dernier message: 22/01/2006, 18h01

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