[英]How to refresh custom user control in WPF from code behind or by binding
[英]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.