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 :

MVVM et RichTextBox


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 43
    Points : 27
    Points
    27
    Par défaut MVVM et RichTextBox
    Bonjour tout le monde.

    J'essaye depuis hier d'utiliser une RichTextBox avec le pattern MVVM.

    Le contexte est simple, j'ai deux boutons sur une page, avec une RichTextBox.

    Le premier bouton sert à démarrer un service WCF, alors que le 2ème permet de l'arrêter.

    Nom : Screen.png
Affichages : 134
Taille : 4,3 Ko

    Ma question est donc la suivante:
    Comment utiliser une RichTextBox avec MVVM de façon à afficher par exemple "Service WCF démarré", lors d'un clic sur le bouton "Démarrer le service"?

    Dans un deuxième temps, lors des appels au service WCF en question, j'aurais besoin d'afficher les informations dans la RichTextBox, comme par exemple "Appel du service par [Adresse Ip]"
    Comment est-ce que je peux faire sans casser le MVVM (en modifiant les variables de mon objet ViewModel de préférence)?

    Merci d'avance pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Points : 131
    Points
    131
    Par défaut
    Tu peux utiliser un BackgroundWorker que tu passerais en paramètre optionnel à la méthode démarrant le serveur.
    Ta VM initialise le BackgroundWorker, s'abonne à l'évènement d'avancement de la tâche, la fournis en paramètre quand tu démarres ton serveur.
    Ensuite tu te contentes de mettre à jours ta VM dans le handler.

  3. #3
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    Bonjour,

    Je ne vois bien où tu vois un soucis. Ton ViewModel peut démarrer le service sans problème et s'abonner ensuite à ses événements. Ensuite concernant les messages, tu peux les stocker simplement dans une ObservableCollection<string> et t'abonner à l'événement CollectionChanged pour rafraichir une propriété spécifique à ton VM.

    Exemple:

    Code CS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private ObservableCollection<string> _messages = new ObservableCollection<string>();
     
    public String HostMessages
    {
      get { return string.Join(Environment.NewLine, _messages); }
    }
     
    public Vm()
    {
      _messages.CollectionChanged += (o, e) => { RaisePropertyChanged("HostMessages"); };
    }
    ****** Analyse/Développeur .Net

Discussions similaires

  1. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 03h00
  2. [VB.NET] Marge & Richtextbox
    Par Berns dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/09/2004, 09h45
  3. [VB.NET] Pb avec le soulignement dans un RichTextBox
    Par Ludog35 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/06/2004, 18h59
  4. [VB6] Ecrire à un endroit précis d'un richtextbox
    Par STG dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/11/2002, 14h35
  5. [VB6] [RichTextBox] Aller en bas
    Par fea dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 22/10/2002, 11h24

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