У меня очень простой файл xaml, где я передаю те же элементы Paragraph и Run как RichTextBox, так и FlowDocumentScrollViewer. Оба выглядят радикально по-другому - чего я не ожидал.RichTextBox vs FlowDocumentScrollViewer - Почему они выглядят так иначе?
Я понимаю, что вы можете создать или FlowDocument или контейнеры, чтобы они выглядели одинаково, но я ожидал, что они оба наследуют те же настройки по умолчанию.
Вот мой код:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="80" />
<RowDefinition Height="80" />
</Grid.RowDefinitions>
<RichTextBox Grid.Row="0">
<FlowDocument>
<Paragraph>
<Run>Here is some text</Run>
<LineBreak />
<Run>Here is some more text</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
<TextBlock Grid.Row="1" Padding="6,0,0,0">
<Run>Here is some text</Run>
<LineBreak />
<Run>Here is some more text</Run>
</TextBlock>
<FlowDocumentScrollViewer Grid.Row="2" IsHitTestVisible="True" VerticalScrollBarVisibility="Hidden">
<FlowDocument>
<Paragraph>
<Run>Here is some text</Run>
<LineBreak />
<Run>Here is some more text</Run>
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
</Grid>
Мой вопрос
Есть ли какой-нибудь способ обеспечения того, чтобы как RichTextBox и FlowDocumentScrollViewer отображения FlowDocument таким же образом? В идеале, вы не можете отличить их между собой - без полей «жесткого кода», шрифтов и т. Д. В том или ином.
В моем примере выше мой Textblock требует некоторого Margin, чтобы он отображался так же, как RichTextBlock, но я действительно хочу избежать необходимости делать что-либо подобное, поскольку, несомненно, будет ситуация, когда некоторые шрифт или настройка культуры нарушает все это ужасно.