【问题标题】:How can I "reset" a control's property to its original style value (like Background)如何将控件的属性“重置”为其原始样式值(如背景)
【发布时间】:2010-12-22 08:00:49
【问题描述】:

我的项目中有一个简单的文本框。

我制作了这种样式(用于说明目的):

<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,但它当然会给我一个透明的背景,这不是我想要的。

这可能吗?如果是,我该如何实现?

谢谢

【问题讨论】:

    标签: wpf xaml styles


    【解决方案1】:
    MyTextBox.ClearValue(TextBox.BackgroundProperty);
    

    【讨论】:

    • 这对我来说效果很好,除了我清除了整个 StyleProperty。另外值得注意的是,如果您将控件设置为禁用,样式将无法按预期工作。
    猜你喜欢
    • 2020-07-11
    • 2011-03-31
    • 1970-01-01
    • 2023-03-20
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 2015-09-04
    相关资源
    最近更新 更多