我想在WPF文本块中将文字变灰,怎么做?
祝好, Raju
关于C#:
textBox.Foreground = Brushes.Gray;
关于XAML:
<TextBox Foreground="Gray" />
禁用它(也会更改背景):
textBox.IsEnabled = false;
TextBlock
的IsEnabled
标志不会使文本变灰。此帖子详细介绍了TextBlock
和标签之间的区别。它还展示了如何在IsEnabled
上添加触发器以使文本变灰的XAML代码。
当禁用时,文本块不会自动变灰。
您可以使用样式来实现此功能。
<Style x:Key="DisableEnableTextBlock" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Opacity" Value="1" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value=".5" />
</Trigger>
</Style.Triggers>
</Style>
您可以将TextBlock.Foreground属性设置为任何颜色(技术上,任何刷子)。如果您希望它变成灰色,请设置:
<TextBlock Text="Foo" Foreground="Gray" />
如果您希望它看起来“禁用”,可以将IsEnabled设置为false:
<TextBlock Text="Foo" IsEnabled="false" />
对于 WinUI,请将 Opacity 属性设置为大约 0.5。
IsReadOnly = true
或IsEnabled = false
。