Iev*_*ida 4 c# wpf dependency-properties properties wpf-controls
我有问题通过按钮单击默认设置所有控件值.设置样式时,这不起作用的问题.
例如,我有代码:
var metadata = dependencyProperty.DefaultMetadata;
if (value == null)
{
return metadata.DefaultValue == value;
}
else
{
return value.Equals(metadata.DefaultValue);
}
Run Code Online (Sandbox Code Playgroud)
但这实际上不是默认属性!因为在样式中可以设置其他值!如何获得真正的"默认"控制权限!?那么WPF也会从样式返回值,如果这样设置的话?
Ps ClearValue(propertyToClear); 不能使用,因为在某些情况下我需要检查值.
Cle*_*ens 13
不同的依赖项对象类型可能有不同的元数据.因此,您必须通过其中一个GetMetadata重载获取特定类型的属性元数据.
var metadata = dependencyProperty.GetMetadata(typeof(SomeDependencyObject));
var defaultValue = metadata.DefaultValue;
Run Code Online (Sandbox Code Playgroud)