Я пытаюсь стилизовать FlowDocument, чтобы он вел себя так же, как при вводе текста в MS Word.Прямо сейчас я застрял с полями абзаца в списке элементов.Я заставил это выглядеть примерно так, как я хочу:
, используя этот XAML:
<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<FlowDocument.Resources>
<Style TargetType="Paragraph">
<Setter Property="Margin" Value="0,0,0,20" />
<Style.Triggers>
<DataTrigger Binding="{Binding Margin, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListItem}, AncestorLevel=1}}" Value="0">
<Setter Property="Margin" Value="5" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type List}">
<Setter Property="Margin" Value="5" />
</Style>
</FlowDocument.Resources>
<List>
<ListItem>
<Paragraph>Bullet1</Paragraph>
</ListItem>
<ListItem>
<Paragraph>Bullet2</Paragraph>
<List>
<ListItem>
<Paragraph>Bullet2.1</Paragraph>
<List>
<ListItem>
<Paragraph>Punkt 2.1.1</Paragraph>
</ListItem>
</List>
</ListItem>
</List>
</ListItem>
</List>
<Paragraph>Regular paragraph 1</Paragraph>
<Paragraph>Regular paragraph 2</Paragraph>
</FlowDocument>
Моя проблема сейчас в том, что мне также нужнобыть в состоянии преобразовать FlowDocument в RTF и заставить его хорошо выглядеть.При конвертации в RTF кажется, что триггеры стиля игнорируются.
Я использую этот метод для преобразования в RTF: Как преобразовать FlowDocument в rtf
Мой вопрос: есть ли другой способ установить различные поля для обычного абзацаа абзац, который является потомком списка?Мне нужно решить эту проблему, используя общие стили, а НЕ устанавливая атрибуты Style или Margin непосредственно в абзацах.