我想写个自定义控件,继承自CONTENTCONTROL或CONTROL或PANEL等都可以考虑,目前遇到这样的问题:
我想设置一些属性,比如CONTENT,当用户有设置的时候,使用用户设置的,当用户不配置的时候使用内置的。
比如:
我对CONTENTCONTROL派生的控件增加了一个HEADER的属性,希望当用户设置HEADER的时候,显示用户设置的HEADER内容,不设置的时候,显示默认的。
我在操作中如下处理:
1——
定义一个DEPENDENCYPROPERTY:HEADERPROPERTY
2——
在模板中设置一个HEADER对象的CONTENTCONTROL,其内容绑定到HEADER属性
3——
在控件的STYLE中,通过SETTER设置HEADER的值
问题:
1——
当我设置的HEADER为简单的内容(非可视化对象,比如文本、数字等)的时候,一切都OK。但当我设置为一个UI对象的时候,报告错误。
2——
我通过ONAPPLYTEMPLATE方法来获取这个SETTER设置的值,然后再设置到HEADER对象的CONTENT上,报告这个UI对象已经是别的对象的子对象了,而跟踪显示,该对象的PARENT为空。