如何使用WPF隐藏richtextbox或textbox中的部分文本

本文关键字:文本 textbox 何使用 WPF 隐藏 richtextbox | 更新日期: 2023-09-27 18:23:48

我想在wpf中寻求一种方法,在运行时使用C#隐藏和取消隐藏富文本框或文本框中的某些特定行,同时保持其余行可见。我也不想成为可见线和不可见线之间的可见空间。我有一个主意,选择行,然后将字体大小改为0.01,但这并不是一件很简单的事。提前谢谢。

如何使用WPF隐藏richtextbox或textbox中的部分文本

默认情况下,您只能通过分别更改text或RichText属性的值来隐藏和显示WPF TextBox或RichTextBox中的某些文本。例如,如果您有文本"Mary有一只小羊羔,它的羊毛像雪一样白",并且想要隐藏文本"谁的羊毛像白一样雪",那么您必须解析文本,并使用代码在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>