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 :

DependencyProperty et multithreading ?


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut DependencyProperty et multithreading ?
    bonjour

    une dependencyproperty ne peut pas etre assignée par un autre thread

    j'ai une dependencyproperty qui est un observable collection d'un classe héritant de dependencyobject

    sur un autre thread je créé un autre observablecollection que je set sur ma dependencyproperty via un dispatcher.invoke dans le but de pouvoir au moins gérer mes données sur un autre thread
    déjà ca plante (il me dit que le observable collection of maclasse n'est pas une valeur pour un observable collection of maclasee (aller comprendre ce que ca veut dire ...))

    mais apparement les objets créé sur l'autre thread ne peuvent alors plus utilisés par le thread principal

    en bref, les dependencyproperty c'est bien gentil, mais le multithreading est essentiel de nos jours, les 2 sont ils absolument incompatibles ??
    microsoft ferait des modifs dans tous les sens sans pouvoir toutes les utiliser en meme temps (les parrallel.foreach arrivant sur le framework 4 en plus ...) ??
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    j'avais donne un link sur un sujet analogue
    creer des uielement dans un trhead pour les passer au thread principal
    tu devrais le regarder

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    je pense avoir retrouvé ton lien

    la solution serait de transformer les uielement en xaml puis de les recréer sur le thread principal à partir du xaml
    faudrait voir ce que ca donne niveau perf ...


    mais est-ce que tout peut se transformer en xaml ? un dependencyobject aussi ??
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    c'est bien ce que je pensais, on ne peut pas tranformer n'importe quoi en xaml

    mais question reste donc ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    mais apparement les objets créé sur l'autre thread ne peuvent alors plus utilisés par le thread principal
    Seules les classes statiques et les objets qui sont dans un état gelé (Frozen) peuvent être échangés entre les threads.

    Sinon, je ne comprend pas ta question/ton pb...

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour résumer, je rempli un observablecollection avec une classe héritant de dependencyobject

    la collection est remplie et les objets instanciés sur un thread séparé

    j'ai un binding sur une propriété de ma window

    je veux placer la nouvelle collection dans cette propriété

    et là ca plante
    aux vues des différents messages d'erreurs, un dependencyobject ne peux pas passer d'un thread à l'autre, et un observablecollection non plus


    et frozen n'existe que pour les classes graphiques ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [Kylix] Multithreads la galère
    Par Oyoboy dans le forum EDI
    Réponses: 16
    Dernier message: 16/07/2004, 11h03
  2. [WinAPI C++] MultiThreading et PostMessage
    Par Gruik dans le forum Windows
    Réponses: 7
    Dernier message: 29/03/2004, 15h58
  3. [WinAPI C++] MultiThreading?
    Par Gruik dans le forum Windows
    Réponses: 2
    Dernier message: 25/03/2004, 00h08
  4. [Win32]App multithread
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 25/09/2003, 09h57
  5. Multithreading sous HP Ux 11
    Par pykoon dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 18/10/2002, 23h36

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