كيف يمكنني تغيير تباعد الفقرة RichTextBox؟
-
11-07-2019 - |
سؤال
أنا أستخدم صندوق RichText في WPF ، وأحاول تعيين تباعد الفقرة الافتراضي إلى 0 (بحيث لا يوجد تباعد فقرة). على الرغم من أنني أستطيع القيام بذلك في XAML ، إلا أنني أود تحقيقه برمجياً إن أمكن. أيه أفكار؟
المحلول
أنا فعلت هذا مع نمط (تورية بادئة)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
نصائح أخرى
باستخدام ارتفاع الخط
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
أغلق ، لذلك حصلت على النقاط. في الواقع اتضح أنه يضع الهامش ،
p.Margin = new Thickness(0);
بالنسبة لي على VS2017 في WPF يعمل هذا:
<RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>
المفتاح هو block.lineheight = "2"
يمكنك العثور على هذا أيضًا في عرض الخصائص ولكن لا يمكنك التغيير دون 6 بكسل من هناك.
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
في C# 2008 WAP
richtextbox1.SelectionCharOffset =
-1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);
أو
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
يمكن استخدامها لتباعد الخط.
هذه هي الطريقة الوحيدة التي يمكنك بها تباعد ارتفاع الخط.
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>
لا تنتمي إلى StackOverflow