【问题标题】: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。如果模板或样式设置器设置了任何值,则该值将生效。

    【讨论】:

      猜你喜欢
      • 2014-12-30
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多