我正在创建一个自定义 WPF 控件NOT一个用户控件。此自定义控件有两个属性(UnselectedAppearance 和 SelectedAppearance)。这两个属性具有相同的类型(外观),均派生自 DependencyObject。 Appearance 类本身有几个 DependencyProperties。我想知道为每个外观属性设置默认值的正确方法。我尝试过如下代码,但是当我尝试在设计器中使用自定义控件时,会引发异常。
public static readonly DependencyProperty UnselectedAppearanceProperty = DependencyProperty.Register("UnselectedAppearance", typeof(Appearance), typeof(FNDie), new PropertyMetadata(new Appearance()));
我有什么办法可以做到这一点吗?
依赖属性的默认值在该依赖对象的所有实例之间共享,因此除 null 之外的值通常仅对值类型或不可变类有意义。换句话说,您可能会经历惨痛的教训,null 可能是您最好的选择。
如果您迫切需要为依赖项属性设置可变引用值,则可以将默认值保留为 null 并在构造函数中设置它。但是,您应该意识到,这样做将使该属性无法使用样式进行设置,这可能是一个严重的限制,具体取决于您的需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)