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

时间:2013-07-17 15:32:47

标签: c# wpf text-editor

我想在运行时使用C#隐藏和取消隐藏在富文本框或文本框中的某些特定行的wpf方法,同时让剩下的行可见。我也希望不要成为可见线和不可见线之间的可见空间。我有一个想法,选择行,然后将字体大小更改为0.01,但它不是elegand。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

如果您使用TextBox,您将需要一个外边框,它可以帮助您匹配TextBox的样式,然后您可以将您隐藏的文本框的BorderBrush和Background设置为Transparent,这样它就像一个TextBox。 / p>

<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>