【问题标题】:Unset a property from codebehind从代码隐藏中取消设置属性
【发布时间】:2013-03-04 09:12:30
【问题描述】:
我的 XAML 文件中有一个默认 MaxHeight 值为 62 的 TextBox,我想在某个事件的代码隐藏中以编程方式取消设置它。可悲的是,这个:
myTextBox.MaxHeight = 0;
实际上将最大高度设置为零...使其不可见。 UI 元素上没有一种方法可以纯粹取消设置特定属性吗?
【问题讨论】:
标签:
silverlight
xaml
silverlight-4.0
dependency-properties
【解决方案1】:
您可以将其设置回默认值:
myTextBox.MaxHeight = double.PositiveInfinity;
这允许文本框增长到“任意高度”。
【解决方案2】:
有一种方法可以将任何依赖属性重置为其默认值,而无需显式指定(甚至不知道)该值。只需拨打ClearValue:
myTextBox.ClearValue(FrameworkElement.MaxHeightProperty);
但是请注意,这会清除属性的local value。如果模板或样式设置器设置了任何值,则该值将生效。