【问题标题】: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>

【问题讨论】:

  • 您应该将标题重命名为 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>

【讨论】:

  • 我猜这也适用于 WP8.0。试一试。
猜你喜欢
  • 2014-08-03
  • 2016-10-28
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
  • 2017-12-19
  • 2017-09-20
相关资源
最近更新 更多