J'essaie actuellement de créer des fonctionnalités de base de traitement de texte dans un projet WPF. J'utilise un RichTextBox et suis conscient de tous les EditingCommands (ToggleBold, ToggleItalic ... ect.). La chose sur laquelle je suis bloqué est de permettre à l'utilisateur de changer la police et la police comme dans MS Office où la valeur change uniquement pour le texte sélectionné et s'il n'y a pas de texte sélectionné, la valeur changera pour la position actuelle du curseur. Je suis venu avec une quantité décente de code pour que cela fonctionne, mais j'ai des problèmes avec le truc de texte non sélectionné. Voici ce que je fais pour la RichTextBox.Selection.WPF Richtextbox FontFace/FontSize
TextSelection text = richTextBox.Selection;
if (text.IsEmpty)
{
//doing this will change the entire word that the current caret position
//is on which is not the desire/expected result.
text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value);
}
else
//This works as expected.
text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value);
Alors, ma question est comment dois-je faire cela? Existe-t-il un moyen meilleur/plus pratique de le faire? Une idée que j'avais était que je devrais insérer une nouvelle ligne dans le paragraphe, mais je ne pouvais pas comprendre comment faire cela. Toute aide est appréciée. Je vous remercie.
déni de responsabilité: Ceci est une republication exacte de this question il y a 7 mois. Je l'ai trouvé en cherchant une solution au même problème, mais cette question n'a pas été résolue et j'espère que quelqu'un pourra y répondre maintenant.
Je l'ai considéré cette option, mais il ajoute un espace blanc à la fin du texte. Si je supprime cet espace après, l'effet de changement de police est parti. – Elad