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 :

UserControl et DataContext indépendant


Sujet :

Windows Presentation Foundation

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut UserControl et DataContext indépendant
    Bonjour,
    j'ai un UserControl dont le DataContext est défini dans son évènement Loaded(). J'ai besoin:

    1. que ce DataContext reste inchangé, quelque soit le DataContext du parent où il est placé.
    2. que le UserControl soit averti du changement du DataContext de son parent.

    Comment réaliser cela ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Bon, le 1. est résolu, vu que changer le DataContext de la fenêtre, ne change pas celui défini pour le UserControl, ce que je ne pensais pas.
    Reste plus que le 2. à résoudre...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    2. résolu.
    La propriété Source du UserControl me renvoie ainsi le DataContext du parent de l'UC (ici, un ContentControl):
    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    <local:UCGenres Source="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType=ContentControl}, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, Converter={StaticResource ToDataContextConverter}}" />
    Et dans le converter, je récupère l'objet Movie qui est le DataContext du ContentControl:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                Movie mymovie = (Movie)value;
     
                return mymovie.Genres;
            }
    Et j'écris mon code dans le SourcePropertyChanged de mon UC.

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

Discussions similaires

  1. [WPF] UserControl / Frame et DataContext
    Par NeoKript dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 05/08/2011, 12h40
  2. Réponses: 3
    Dernier message: 14/04/2011, 17h46
  3. [VB6] [UserControl] Évènements personnalisés
    Par Frankywinky dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/05/2003, 17h56
  4. [Migratation] Application portable, indépendant du SGDB
    Par benouille dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 28/08/2002, 13h51
  5. Cherche composant Web Browser indépendant
    Par lancelot69 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/07/2002, 11h14

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