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 :

Synchronisation index avec controle template


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut Synchronisation index avec controle template
    Bonjour
    Juste une petite question car je ne sais plus ou chercher.
    Dans ma listview suivante lorsque je coche ma checkbox(dans le datatemplate) sur la 2eme ligne , mon selectedindex reste à 0.
    Il n'y a pas de synchronisation avec la ligne lorsque je coche cette checkbox

    Qqlun a une idée ?


    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
    <ListView x:Name="Lstforfaits" Width="380" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" VirtualizingStackPanel.IsVirtualizing="True" FontFamily="Arial" FontSize="12" Foreground="#FF0F177D" HorizontalContentAlignment="Center" Margin="299,26.562,26,0" Height="150" VerticalAlignment="Top" MouseLeave="Lstforfaits_MouseLeave">
                <ListView.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF9A92BD" Offset="0.226" />
                        <GradientStop Color="#FFABF0F6" Offset="0.748" />
                    </LinearGradientBrush>
                </ListView.Background>
                <ListView.View>
                    <GridView TextElement.FontFamily="Arial" TextElement.FontSize="12" TextElement.Foreground="#FF0F177D">
                        <GridViewColumn Header="Service" Width="250" DisplayMemberBinding="{Binding Path=LibServ, Mode=TwoWay}" />
                        <GridViewColumn Header="Prix" Width="80" DisplayMemberBinding="{Binding Path=PRIX, Mode=TwoWay}" />
                        <GridViewColumn Header="Choix" Width="40" x:Name="chChoix" >
                            <GridViewColumn.CellTemplate >
                                <DataTemplate x:Name="dtchoix"  >
                                    <CheckBox x:Name="chkchoix" Click="chkchoix_Click" >
     
                                    </CheckBox>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
     
            </ListView>Code :
    Merci beaucoup

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Par défaut
    En attendant une réponse surement plus clean, j'peux te proposer une rustine :

    Vu que tu surveille l'évent "Click" de la checkbox, dans ta méthode de réponse à l'évènement, teste la propriété IsChecked de la checkbox.

    Ensuite, à l'aide des méthodes de VisualTreeHelper, tu dois pouvoir récupérer un objet "ListViewItem".

    A partir de là, tu peux faire taListView.ItemContainerGenerator.ItemFromContainer(tonListViewItem) pour récupérer l'objet actuellement choisit (t'as aussi IndexFromContainer si tu préfères les index des éléments).

    Il ne te reste plus qu'a faire un taListView.SelectedItem = ou SelectedIndex ou encore SelectedItems.Add (Pas fonctionnel sur tous les contrôles)

    Cette méthode fonctionne pour les DataGrid...Y'a pas de raison qu'elle marche pas ici ^^. En revanche, c'est p'tet pas la plus propre, il en existe p'tet une en full-XAML.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut
    En fait même si je mets l'evennement sur checked j'ai le même problème , et j'ai besoin d'avoir le click.

    Je te remercie beaucoup.Je vais essayer , dès fois avec une rustine on finit une étape

  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
    Salut,

    Tu peux peut-être essayer avec un binding :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <CheckBox x:Name="chkchoix" IsChecked="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}}" />

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut
    Merci , j'ai essayé et

    C'est à s'arracher les cheveux apres avoir regénérer la totalité de mon projet je n'ai plus d'erreur sur le relativeSource mais le 1premier de la liste est coché

    quand je charge ma listview alors qu'ils sont tous a False a la base

  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
    C'est curieux

    T'es certain de ne pas affecter le IsSelected du premier Item dans ton code (un oubli peut-être...)

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/05/2011, 17h37
  2. Réponses: 3
    Dernier message: 22/08/2005, 18h28
  3. Problème d'index avec load data file
    Par bruno782 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/03/2005, 12h11
  4. [VB.Net] Un autre probleme avec controle DropDownList
    Par angelevil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2005, 14h59
  5. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 10h48

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