【问题标题】:How to adjust vertical position of Border in RichTextBox如何调整 RichTextBox 中边框的垂直位置
【发布时间】:2016-12-20 15:45:13
【问题描述】:
向 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>
【问题讨论】:
标签:
wpf
visual-studio
xaml
windows-phone
richtextbox
【解决方案1】:
了解正在使用的平台、语言和 Windows Phone 版本会很有帮助。
如果您使用 Silverlight、C# 和 Windows Phone 8.1:
似乎没有任何优雅、简单的解决方案。要使文本对齐,您必须创建多个包含更多边框和文本块的 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>