繁体   English   中英

如何从WPF中的代码隐藏中删除控件的属性

[英]How to Remove Attribute of Control from Code Behind in WPF

我想从代码隐藏中删除属性背景。 这是我的Xaml代码-

<Button Name="btnBack" Width="50" Height="50"></Button>

和Xml.cs

btnBack.Background = Brushes.Red;

但是在执行某些操作后,我想使用值删除此属性,因此我的按钮应以其原始颜色出现,而“红色”应删除。

谁能帮我?

通过调用DependencyObject.ClearValue将属性重置为其默认值:

btnBack.ClearValue(Control.BackgroundProperty);

这将清除所谓的局部值(例如,直接设置或由绑定设置的任何值),但保留由样式设置的任何潜在值。

您还可以将依赖项属性的值设置为UnsetValue

btnBack.SetValue(TextBlock.BackgroundProperty, DependencyProperty.UnsetValue);

它不如@Clemens答案好,但它似乎可以工作,并且可以与?:一起使用以设置或清除值。

    // first store its original color
    Brush Originalcolor = btnBack.Background;

    // on some condition
    btnBack.Background = Brushes.Red;

    // afte some other condition
    btnBack.Background = Originalcolor;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM