如何调整RichTextBox中Border的垂直位置

How to adjust vertical position of Border in RichTextBox

向 RichTextBox 添加内容后,我注意到黑色边框的垂直对齐方式有点不合适。需要做些什么才能将边框的位置下移,使文字与其他文字水平对齐?

XAML

<RichTextBox x:Name="seasons_richtextBlock" HorizontalAlignment="Left">
    <Paragraph>
        <InlineUIContainer>
            <Border Background="Black">
                <TextBlock Text=" Spring " Foreground="White" TextAlignment="Center" VerticalAlignment="Center"/>
            </Border>
        </InlineUIContainer>
        <Run Text=", Summer, Autumn and Winter (four seasons)"/>
    </Paragraph>
</RichTextBox>

了解正在使用的平台、语言和 Windows Phone 版本会很有帮助。

如果您使用的是 Silverlight、C# 和 Windows Phone 8.1:

似乎没有任何优雅、简单的解决方案。要使文本对齐,您必须创建多个包含更多边框和 TextBlock 的 InlineUIContainer。

这似乎不是维护大量文本的可行方式。除了 InlineUIContainers 之间,也不会自动换行。

但是如果你只需要它来处理一小部分文本,那么这应该可以。

这是一个例子:

        <RichTextBox Background="Teal" Padding="10">
            <Paragraph>
                <InlineUIContainer>
                    <Border Background="Black">
                        <TextBlock Text="Spring"/>
                    </Border>
                </InlineUIContainer>
                <InlineUIContainer>
                    <Border>
                        <TextBlock Text=", "/>
                    </Border>
                </InlineUIContainer>
                <InlineUIContainer>
                    <Border Background="Black">
                        <TextBlock Text="Summer, Autumn"/>
                    </Border>
                </InlineUIContainer>
                <InlineUIContainer>
                    <Border>
                        <TextBlock Text=" and "/>
                    </Border>
                </InlineUIContainer>
                <InlineUIContainer>
                    <Border Background="Black">
                        <TextBlock Text="Winter"/>
                    </Border>
                </InlineUIContainer>
                <InlineUIContainer>
                    <Border>
                        <TextBlock Text=" (four seaasons)"/>
                    </Border>
                </InlineUIContainer>
            </Paragraph>
        </RichTextBox>