标准配色方案中的两个示例 TextBox 和以下构造函数生成具有灰色前景的 Box1 和具有黑色前景的 Box2,因为 Box2 的前景色已被明确设置。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Box2.Foreground = Brushes.Black;
Box1.IsEnabled = false;
Box2.IsEnabled = false;
}
}
我想“取消设置”前景色,以便 Box2 在 IsEnabled 设置为 false 时“回退”到默认禁用颜色并具有灰色前景色。这可能吗?如果是这样,它是如何完成的?
将 Foreground 属性设置为 null 不会产生预期的效果。如果可能,我想避免将前景色显式设置为灰色,因为它与自定义配色方案不兼容。
最佳答案
我不确定这是否是您的意思,但请尝试以下代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Box2.Foreground = Brushes.Black;
Box1.IsEnabled = false;
Box2.IsEnabled = false;
Box2.ClearValue(TextBox.ForegroundProperty);
}
}
关于c# - WPF : Remove control's explicit foreground color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5096179/