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 :

DataTrigger binding Cannot find source


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut DataTrigger binding Cannot find source
    Bonjour, j'ai un petit soucis de binding pour certaine raison je suis obliger d'utiliser un listView .
    J'aimerais que quand je coche la checkbox du header que toutes les checkbox de ma cell soient coché (checkbox avec le tName=CheckBoxAll ), pour faire cela j'ai voulus utiliser un trigger , mais cela m'affiche dans le output de visual studio ce ci .

    System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=CheckBoxAll'. BindingExpressionath=IsChecked; DataItem=null; target element is 'CheckBox' (Name=''); target property is 'NoTarget' (type 'Object')

    Code xaml : 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
    <ListView  Grid.Row="1" ItemsSource="{Binding Path= CarrierFiledsCollectionView ,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"  ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"  HorizontalAlignment="Stretch" SelectionMode="Single"  SelectedItem="{Binding Path=SelectedCarrier, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"   HorizontalContentAlignment="Center" >
                                <ListView.View >
                                    <GridView  >
                                        <GridViewColumn Width="auto" >
                                            <GridViewColumn.HeaderTemplate>
                                                <DataTemplate>
                                                    <CheckBox  Name="CheckBoxAll" IsChecked="True"/>
                                                </DataTemplate>
                                            </GridViewColumn.HeaderTemplate>
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <CheckBox>
                                                        <CheckBox.Style>
                                                            <Style TargetType="CheckBox">
                                                                <Style.Triggers>
                                                                    <DataTrigger Binding="{Binding ElementName=CheckBoxAll, Path=IsChecked}" Value="True">
                                                                        <Setter Property="IsChecked" Value="True"/>
                                                                    </DataTrigger>
                                                                </Style.Triggers>
                                                            </Style>
                                                        </CheckBox.Style>
                                                    </CheckBox>
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                        </GridViewColumn>
                                    </GridView>
                                </ListView.View>
                            </ListView>


    Merci d'avance pour votre aide .

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Ce n'est pas possible car chaque instance du template définit son propre namescope qui l'isole de l'extérieur, donc impossible d'y accéder directement.

    Il faudrait gérer cette notion de sélection complète au niveau du view-model et binder la valeur IsChecked des CheckBox sur des propriétés dédiées.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut
    Merci pour cette précision.

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

Discussions similaires

  1. Message d'erreur : Cannot find source for binding
    Par takinelinfo dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 04/07/2011, 19h29
  2. [STRUTS] [Debutant] Cannot find message resources...
    Par grizzz dans le forum Struts 1
    Réponses: 14
    Dernier message: 05/05/2011, 16h08
  3. /usr/bin/ld: cannot find -lX11
    Par Michaël dans le forum Administration système
    Réponses: 6
    Dernier message: 10/03/2008, 16h13
  4. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  5. [Tomcat 4.1][Struts] Cannot find global ActionForward....
    Par otminou dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 13/09/2004, 12h04

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