0

我想在 wpf 中寻求一种在运行时使用 C# 隐藏和取消隐藏富文本框或文本框中的某些特定行的方法,同时让其余的行可见。我也不想成为可见线和不可见线之间的可见空间。我有一个选择线条然后将字体大小更改为 0.01 的想法,但它并不是那么多的优雅。提前致谢。

4

1 回答 1

0

默认情况下,您只能通过分别更改 Text 或 RichText 属性的值来隐藏和显示 WPF TextBox 或 RichTextBox 中的某些文本。例如,如果您有文本“玛丽有一只小羊,他的羊毛像雪一样白”,并且想要隐藏文本“谁的羊毛像雪一样白”,您将不得不解析文本并删除或添加“谁的羊毛是使用代码在 Text 或 RichText 中的正确位置。

听起来您只是想根据某些条件修改布局。在这种情况下,最好将行拆分为单独的文本框,并在存在某些条件时将这些文本框的可见性设置为折叠,否则将它们设置为可见。

如果您使用的是 TextBox,您将需要一个外部边框,以帮助您匹配 TextBox 的样式,然后您可以将您隐藏的文本框的 BorderBrush 和 Background 设置为透明,使其看起来像单个 TextBox。

<Border
    BorderThickness="1"
    BorderBrush="Black"
    Background="White">
    <StackPanel>
        <TextBox
            Text="Mary had a little lamb "
            BorderBrush="Transparent"
            Background="Transparent" />

        <!-- Set the Visisibility Property of this TextBox in code to show or hide it -->
        <TextBox
            Name="ConditionalTextBoxLine"
            Visibility="Visible"
            Text="Who's fleece was white as snow"
            BorderBrush="Transparent"
            Background="Transparent" />
    </StackPanel>
</Border>
于 2013-07-17T16:12:35.087 回答