В нем есть RichTextBox с абзацем. Как изменить край внутреннего абзаца? Нет такого имущества. Настройка RichTextBox.Padding на "-12,0" помогает, но выглядит как уродливый хак.
Как изменить маржу абзаца в Windows Phone 8 XAML?
Ответ 1
По умолчанию RichTextBox будет иметь маржу (12,0,12,0) для своего элемента границы корня, и, следовательно, пространство с левой и правой сторон будет добавлено по умолчанию. Если вы хотите изменить поведение, вам необходимо настроить сам шаблон RichTextBox.
Вы можете использовать этот шаблон и избегать добавления дополнительного поля слева и справа.
<ControlTemplate TargetType="RichTextBox">
<Grid Background="Transparent">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<ContentControl x:Name="ContentElement" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
</ControlTemplate>
С уважением, MAWY
Ответ 2
Как насчет этой опции: блокировка также уродливая, но все же:
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<RichTextBox>
<Paragraph>
<InlineUIContainer>
<TextBlock x:Name="tbMargin" Margin="100,0,0,0"></TextBlock>
</InlineUIContainer>
Hi from Paragraph
</Paragraph>
</RichTextBox>
</StackPanel>
Ответ 3
Другой взлом: (по крайней мере, для поля слева:)
<Paragraph xml:space="preserve">
Hi from Paragraph
Hi from Paragraph 2
</Paragraph>
Ответ 4
Вам просто нужно установить свойство TextIndent из абзаца. Я покажу вам образец:
<RichTextBox>
<FlowDocument>
<Paragraph TextIndent="6"><Run Text="Paragraph 1"/></Paragraph>
<Paragraph TextIndent="12"><Run Text="Paragraph 2"/></Paragraph>
<Paragraph TextIndent="18"><Run Text="Paragraph 3"/></Paragraph>
<Paragraph TextIndent="24"><Run Text="Paragraph 4"/></Paragraph>
</FlowDocument>
</RichTextBox>
Это приведет к следующему: