如何将控件的属性“重置”为其原始样式值(如背景)

时间:2010-12-22 08:00:49

标签: wpf xaml styles

我的项目中有一个简单的textBox。

我制作了这种风格(用于说明目的):

<Style x:Key="{x:Type TextBox}" TargetType="{x:Type TextBox}">
    <Style.Setters>
        <Setter Property="Background" Value="LightGray"/>
    </Style.Setters>
</Style>

然后在某一点上,我在我的代码隐藏中执行:MyTextBox.Background = Brushes.Red

到那里,一切正常。

现在我希望能够恢复原始背景颜色,但不需要对其进行硬编码。

:我知道我可以做MyTextBox.Background = Brushes.LightGray,但我正在寻找一种通用的方法,使我能够在不知情的情况下恢复原始风格的背景属性。

我尝试将其设置为null,但当然它给了我一个透明的背景,这不是我想要的。

这有可能吗?如果是,我怎么能实现这个目标呢?

感谢

1 个答案:

答案 0 :(得分:15)

MyTextBox.ClearValue(TextBox.BackgroundProperty);