我想创建一个自定义控件,它应该在其中显示一个时尚的ComboBox。 所以1. LeafControl和2. LeafComboBox。
我已将ControlTemplate样式保存在同一Generic.xaml文件中,这是不正确的。因为在LeafControl初始化期间依赖于LeafComboBox的模板创建。
所以在加载过程中我遇到异常:
错误消息:
“在类型上调用构造函数 'ControlsLibrary.LeafComboBox'匹配指定的绑定 约束引发了异常。“}”
内部错误消息:
“{”PropertyMetadata已经注册了'LeafControl'类型。“}
因此,我应该在哪里定义Generics.xml模板,以便我可以在customcontrol1中使用customcontrol2。
最诚挚的问候, Manoranjan
答案 0 :(得分:0)
在一个Style
文件中为CustomControl
的所有提供默认generic.xaml
是完全合法的。您的问题是,您(可能)已将DependencyProperty
控件中的一个(或多个)LeafControl
复制并粘贴到您的其他控件,但未更新OwnerType
属性。< / p>
只需在LeafControl
控件中搜索LeafComboBox
,然后将其替换为LeafComboBox
。您不能两次为同一对象定义相同的属性。