سؤال

أنا أستخدم صندوق 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top