2013-07-17 51 views
0

我想问一下在隐藏的WPF中的方式和取消隐藏在RichTextBox或文本框一些具体的线路使用C#在运行时,并在同一时间留下明显的线的其余部分。我也不希望成为有形和无形线条之间的可见空间。我有一个想法,选择线,然后更改字体大小为0.01,但它不是太多elegand。 在此先感谢。如何使用WPF隐藏RichTextBox或文本框中的部分文本?

+0

您可以有一个包含所有文本的字符串,并将部分过滤掉到您想要显示的文本框中。或者甚至更好,一系列线条。 – Jonesopolis

回答

0

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

这听起来像你只是想修改根据某些条件虽然布局。在这种情况下,最好将行分割成单独的文本框,并在存在特定条件时将这些文本框的可见性设置为折叠,否则将其设置为可见。

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

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