Comment limiter au maximum 83 caractères par ligne dans RichTextBox
-
11-07-2019 - |
Question
J'essaie de reproduire MSWord à l'aide de WPF RichTextBox et de la barre d'outils. L'un des problèmes récents est le suivant:
Dans un document MSWord ...
... avec la famille de polices Times New Roman, 11, Justify, une seule ligne contient 95 caractères ... avec la famille de polices Times New Roman, 11, Justify, Bold, une seule ligne contient 83 caractères
sur les marges Il sera plus recommandé de travailler avec des marges ou de limiter les caractères par ligne? Cause lorsque les entrées utilisateur sont,. ou un autre ASCII dont la taille est plus courte que les autres, le nombre maximal de caractères dans une seule ligne "Modifications". Donc, si utiliser les marges est le plus adéquat - comment le WPF RichTextBox gère-t-il les marges?
Merci!
La solution
Essayer de limiter les caractères par ligne ressemble à un cauchemar pour moi. Vous feriez mieux de vous débarrasser du ControlTemplate
par défaut pour RichTextBox
afin de ne plus avoir que le texte, puis de définir la Margin
de votre RichTextBox
pour que le texte "flottant" au milieu:
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer>
<RichTextBox Margin="30,0">
<RichTextBox.Template>
<ControlTemplate TargetType="{x:Type RichTextBox}">
<Border x:Name="PART_ContentHost" Margin="2" Background="Transparent" BorderBrush="Transparent"/>
</ControlTemplate>
</RichTextBox.Template>
</RichTextBox>
</ScrollViewer>
</Grid>