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

Silverlight Discussion :

DataPager sur un ItemsControl


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut DataPager sur un ItemsControl
    bonjour

    voilà j'ai un itemsControl de cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ItemsControl x:Name="monItemsControl" ItemsSource="{Binding MaListe, Mode=OneWay}">
                		<ItemsControl.ItemTemplate>
                			<DataTemplate>
                                               ...... //mes infos à afficher
                			</DataTemplate>
                		</ItemsControl.ItemTemplate>
                	</ItemsControl>
    maintenant ce que je souahiterai faire, c'est d'utiliser un pager pour ne pas avoir 50 infos sur la même page (dans le cas d'un itemsControl bien rempli).

    voici ce que j'ai donc ajouté sous mon itemsControl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <sdk:DataPager Source="{Binding monItemsControl}" HorizontalAlignment="Center" PageSize="5" DisplayMode="PreviousNextNumeric" />
    malheureusement ce pager ne fonctionne pas .. quelqu'un a t il une idée de l'erreur?

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Bonjour,

    La source de ton DataPager pointe vers ton ItemControl ce qui ne peut pas fonctionner comme tu l'as remarqué. Le DataPager fonctionne correctement avec un type de collection particulier que l'on appelle PagedCollectionView.

    Regarde l'exemple inclus dans cette page :

    http://msdn.microsoft.com/en-us/libr...(v=vs.95).aspx

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    oui je me doutai bien que c'était mon binding qui ne fonctionnait pas. l'exemple que tu m'as donné est simple et clair, mais je ne pense pas qu'il soit adapté à MVVM..

    dans l'exemple la liste est remplie dans le code behind et le source du datapager est indiqué juste après.

    là il faut que ça soit un peut plus "dynamique" pour que le pager d'adapte en fonction des modifs apportés à le source de données de mon itemsControl..

  4. #4
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Coté MVVM, je ne pense pas que cela soit un problème :

    Si tu remplaces le type de ta Liste de ObservableCollection à PagedCollectionView tu vas pouvoir faire du Binding sur la ListBox et le DataPager.

    dans l'exemple la liste est remplie dans le code behind et le source du datapager est indiqué juste après.

    là il faut que ça soit un peut plus "dynamique" pour que le pager d'adapte en fonction des modifs apportés à le source de données de mon itemsControl..
    Normalement, le DataPager "sait" gérer les changements qui peuvent intervenir dans les collections de type PagedCollectionView (ou ObservableCollection) en s'abonnant automatiquement à l'evenement CollectionChanged de la collection.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    bon il y a plusieurs choses que m'échappent:
    * dans mon view model, observable collection existe en effet mais le type PagedCollectionView non .. mais admettons sans ça je peux tout de même m'abonner à l'évènement dans ma vue

    j'ai donc mis dans le code behind de mon xaml un traitement sur l'évènement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Locator.MonViewModel.MaListe.CollectionChanged
    dans ce traitement j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PagedCollectionView itemListView = new PagedCollectionView(monItemsControl.ItemsSource);
                Monpager.Source = itemListView;
    mais rien ne se passe.. peux tu me donner un exemple stp

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    pareil je viens de tester et je ne passe jamais dans mon collectionChanged, alors que mon observableCollection évolue...

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

Discussions similaires

  1. Débat sur l'I.A (Intelligence Artificielle)
    Par Anonymous dans le forum Intelligence artificielle
    Réponses: 457
    Dernier message: 05/07/2016, 01h11
  2. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  3. [Kylix] Kylix embarqué sur PDA ?
    Par Anonymous dans le forum NoSQL
    Réponses: 10
    Dernier message: 29/11/2002, 13h59
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  5. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    Réponses: 0
    Dernier message: 14/03/2002, 15h28

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