创建WPF用户控件时,是否可以通过属性或其他机制创建属性?
答案 0 :(得分:1)
将属性分配给初始值,该值可以与可能设置的任何其他值区分开(即,对于引用类型为null)。
当您需要该属性时,如果尚未设置该属性(this.Property == UnsetValue),则抛出一个带有问题描述的InvalidOperationException。
此外,请确保在类的文档,属性以及在未设置属性时将引发异常的任何方法中突出描述了这一点。
**
修改的
或者,您可以为您的控件创建一个XSD架构,根据需要识别该属性,但我不知道如何执行此操作。
更快的解决方案可能是实现ISupportInitialize,这将允许您在反序列化期间检查属性,此时您可以抛出异常。 Here's a post on it at Relyea's blog关于它。