加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何获取DependencyProperty的默认值

发布时间:2020-12-16 00:21:01 所属栏目:百科 来源:网络整理
导读:我有问题通过按钮单击默认设置所有控件值. 设置样式时,这不起作用的问题. 例如,我有代码: var metadata = dependencyProperty.DefaultMetadata; if (value == null) { return metadata.DefaultValue == value; } else { return value.Equals(metadata.Defau
我有问题通过按钮单击默认设置所有控件值.
设置样式时,这不起作用的问题.

例如,我有代码:

var metadata = dependencyProperty.DefaultMetadata;

                if (value == null)
                {
                    return metadata.DefaultValue == value;
                }
                else
                {
                    return value.Equals(metadata.DefaultValue);
                }

但这实际上不是默认属性!因为在样式中可以设置其他值!
如何获得真正的“默认”控制权限!?那么WPF也会从样式返回值,如果这样设置的话?

附: ClearValue(propertyToClear);不能使用,因为在某些情况下我需要检查值.

解决方法

不同的依赖项对象类型可能有不同的元数据.因此,您必须通过其中一个 GetMetadata重载获取特定类型的属性元数据.

var metadata = dependencyProperty.GetMetadata(typeof(SomeDependencyObject));
var defaultValue = metadata.DefaultValue;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读