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

C# Discussion :

Souligner texte wpf richTextBox


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Par défaut Souligner texte wpf richTextBox
    Bonjour,
    Pour une fois, une question simple: Qu'est-ce que j'ai mal fait?!?

    En bref je veux que, quand j'ouvre un fichier texte dans une RichTextBox WPF, la mise en forme soit indiquée (gras, italique et souligné).
    J'arrive bien à récupérer, le "gras" et l'"italique" mais pour le souligné, que le texte soit souligné ou pas, je rentre dans le cas du "else" (texte non souligné)...

    Plus bas le bout de code devant faire le test:


    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TextRange tr = new TextRange(rtb.Selection.Start, rtb.Selection.End);
     
    if (tr.GetPropertyValue(Inline.TextDecorationsProperty) == TextDecorations.Underline)
    {
    MessageBox.Show("true");
    }
    else
    {
    MessageBox.Show("false");
    }


    Quand je tape un mot souligné, il est bien indiqué souligné, mais quand j'ouvre un fichier avec un mot souligné, le mot en question est indiqué comme étant non-souligné...
    Si quelqu'un peut m'aider, il est le bienvenu!
    Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    J'avais fait cette méthode à l'occasion :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
        private bool TestItalic() {
          var sel = richTbox.Selection;
     
          object res = null;
          TextPointer txtPt = richTbox.Selection.Start;
          if (txtPt != null) {
            bool bFind = true;
            DependencyObject dep = ((TextPointer)txtPt).Parent as TextElement;
            while (bFind && (dep is Inline || dep is Paragraph || dep is TextBlock)) {
              res = dep.GetValue(Paragraph.TextDecorationsProperty);
              IEnumerable col = res as IEnumerable;
              bFind = (col == null) ? res == null : col.Cast<Object>().Count() == 0;
              dep = dep is TextElement ? ((TextElement)dep).Parent : null;
            }
          }
     
          if (res != null)
            if (((TextDecorationCollection)(res)).Count > 0)
              return true;
     
          return false;
        }

    Par contre c'est valable quelque soit le TextDecoration utilisé (Underline, Strikethrough, ...). Mais pour mon besoin, ça avait fait l'affaire.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Par défaut
    Bonjour,
    Effectivement ça me repère bien si il y a TextDecoration ou pas, mais comment je dois définir spécifiquement cette fonction pour qu'elle détecte tel ou tel TextDecoration?

    Ensuite, je ne comprends pas bien la fonction elle-même (ceci explique sans doute cela).

    Bref, ça reste le plus grand pas en avant de mon problème!!!

    Merci pour les réponses et en attendant d'autres explications, je vais faire des essais...
    A bientôt.

Discussions similaires

  1. [WPF] RichTextBox
    Par NeoKript dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 11/06/2010, 17h47
  2. souligné texte rapport pdf
    Par sasseur dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 24/07/2009, 11h11
  3. Souligner texte dans un "Edit Text"
    Par Clairette29 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 19/06/2008, 10h40
  4. [JCheckBox]Souligner texte jcheckbox..
    Par nicolaskarp dans le forum Composants
    Réponses: 2
    Dernier message: 22/04/2005, 18h09
  5. [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

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