如何设置元数据选项而不设置默认值?

问题描述:

注册依赖项属性时,如何设置元数据选项而不设置默认值?如何设置元数据选项而不设置默认值?

您可以用对象初始化做到这一点

public static readonly DependencyProperty MyDependencyProperty = 
    DependencyProperty.Register("MyDependency", 
           typeof(propertyType), 
           typeof(ownerType), 
           new FrameworkPropertyMetadata { 
            BindsTwoWayByDefault = true, 
            PropertyChangedCallback = OnPropertyChanged, 
            ... etc ... 
           }); 

有四个构造函数可用于PropertyMetadata,您可以找到here。你可以使用第三个不带任何默认值的参数。

PropertyMetadata(PropertyChangedCallback)

public static readonly DependencyProperty SomeProperty = DependencyProperty.Register("SomeName", typeof(string), typeof(SomeClass), 
                     new PropertyMetadata(SomeChangedCallback), 
                     SomeValidateCallback);