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