2010-03-31 13 views
0

Dans un WPF RichTextBox, le style effectif d'un Run de texte est un résultat de la combinaison des propriétés définies sur le Run avec les propriétés qu'il "hérite" du Paragraph englobant et enfin les styles sur le Document. Vous pouvez donc définir FontWeight à Bold à l'un de ces niveaux. Vous pouvez également le définir Bold sur le Paragraph, puis le basculer sur Normal (le remplacer) pour un Run spécifique.Dans WPF RichTextBox, le remplacement du texte souligné/barré est-il effectué?

Cependant, soulignés et barrés sont différents. Ce sont des éléments qui peuvent éventuellement apparaître dans une liste de TextDecorations, qui est une propriété de Inline (et donc Run) et de Paragraph, mais pas de Document. Et vous pouvez activer Underline dans le Paragraph, et il est hérité de sorte que tous les Run dans ce Paragraph par défaut apparaissent soulignés par défaut. Est-il possible de désactiver le soulignement dans un Run? c'est-à-dire qu'il y a un moyen d'insérer une entrée dans la liste TextDecorations qui signifierait "Ne pas underline", remplaçant ainsi le paramètre Paragraph?

Répondre

1

Je sais que vous pouvez essentiellement gérer le soulignement comme ceci:

protected void ContinueRoutingCommand(object sender, CanExecuteRoutedEventArgs e) 
{ 
      else if (e.Command == EditingCommands.ToggleUnderline) 
      { 
       e.Handled = true; 
       e.CanExecute = true; 
       e.ContinueRouting = false; 
       return; 
      } 
} 

Cependant, dans votre cas, vous voulez remplacer seulement dans une course spécifique, non? Ensuite, vous pouvez vérifier votre Run dans l'intérieur si et le bloquer exactement comme ceci si vous le souhaitez.