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 :

BusyIndicator et childWindow


Sujet :

Silverlight

  1. #1
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut BusyIndicator et childWindow
    Bonjour,
    j'aimerai avoir la possibilité de donner un message d'attente ( et aussi un blocage) lors de traitement lourd ou d'appel WCF. Le BusyIndicator est apparement fait pour ca, mais il semble obligatoire de le définir dans le xaml, et donc au moment de la conception de l'ihm.
    N'y a t-il pas moyen de pouvoir instancier un BusyIndicator en lui specifiant un Panel où il devra se situer?
    Par exemple le ChildWindow s'instancie n'importe quand sans être définis a l'avance.
    Le problème du childwindow c'est qu'il bloque toute l'UI, et j'aimerai avoir la possibilité de n'en bloquer qu'une partie.
    Je sais pas si je je suis très clair.
    Merci!

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Non il faut le definir a l'avance.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Ca a le mérite d'être clair .
    Finalement en regardant le code du BusyIndicator, je pense qu'il est possible de le modifier pour prendre en parametre un Grid, de recuperer les mesures de ce Grid et que Busy s'ajoute lui même a ce grid.
    Avec les mesures du grid parent on redéfinis la taille de notre Busy.

    Je vais voir ce que ca donne!

    edit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class CustomBusyIndicator : BusyIndicator
        {
            public CustomBusyIndicator(Grid Panel)
            {
                Width = Panel.Width;
                Height = Panel.Height;
                Panel.Children.Add(this);
            }
        }
    Bon pour si peu une fonction suffirait.

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ben tu peux toujours mettre ton BusyIndicator avant ton Grid, mais si tu veux un truc dynamique tu peux peut-etre essaye un truc dans ce genre :

    Imaginons que tu ais un Border avec comme Content un Grid et des enfants. Si tu veux mettre un BusyIndicator au niveau du Grid tu peux essayer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var content = border.Content;
    var busy = new BusyIndicator();
    busy.Content = content;
    border.Content = busy;
    busy.IsBusy = true;
    Ca devrait fonctionner.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Il ne va pas y avoir de probleme dans le genre "Element is already the child of another element"?
    Ben le mieux c'est de tester mais la jpeux pas .
    En fait je comprend pas l'interet de vouloir absolument placer les elements a "l'interieur" du busyindicator, puisqu'en realité dans le code du busy, on voit que le Rectangle de l'overlay et le message de statuts se trouve par dessus le reste ( donc par dessus ce que l'on a mis a l'interieur ).

  6. #6
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par micka132 Voir le message
    Il ne va pas y avoir de probleme dans le genre "Element is already the child of another element"?
    Ben non puisque tu enleves les child pour les rajouter ailleurs.

    En fait je comprend pas l'interet de vouloir absolument placer les elements a "l'interieur" du busyindicator, puisqu'en realité dans le code du busy, on voit que le Rectangle de l'overlay et le message de statuts se trouve par dessus le reste ( donc par dessus ce que l'on a mis a l'interieur ).
    Euh non. Dans l'application que je realise mon busyindicator est localise sur seulement une partie de l'application. Quand je mets le IsBusy a true une seule partie est bloquee.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

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

Discussions similaires

  1. comment obtenir les données d'un dataform? +childwindow
    Par dhay06 dans le forum Silverlight
    Réponses: 8
    Dernier message: 04/06/2010, 12h20
  2. ChildWindow bloque les checkbox du Datagrid
    Par exopartners dans le forum Silverlight
    Réponses: 7
    Dernier message: 01/06/2010, 09h42
  3. MVVM + ChildWindow + Closed event
    Par matdur dans le forum Silverlight
    Réponses: 3
    Dernier message: 22/02/2010, 13h58
  4. Probleme variable final et BusyIndicator
    Par L4BiN dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 18/01/2010, 08h38
  5. ChildWindow et son parent
    Par climero51 dans le forum Silverlight
    Réponses: 4
    Dernier message: 03/07/2009, 08h47

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