我可以创建一个在Generic.xml中使用另一个自定义控件的自定义控件

时间:2013-11-05 11:51:20

标签: wpf

我想创建一个自定义控件,它应该在其中显示一个时尚的ComboBox。 所以1. LeafControl和2. LeafComboBox。

我已将ControlTemplate样式保存在同一Generic.xaml文件中,这是不正确的。因为在LeafControl初始化期间依赖于LeafComboBox的模板创建。

所以在加载过程中我遇到异常:

错误消息:

  

“在类型上调用构造函数   'ControlsLibrary.LeafComboBox'匹配指定的绑定   约束引发了异常。“}”

内部错误消息:

  

“{”PropertyMetadata已经注册了'LeafControl'类型。“}

因此,我应该在哪里定义Generics.xml模板,以便我可以在customcontrol1中使用customcontrol2。

最诚挚的问候, Manoranjan

1 个答案:

答案 0 :(得分:0)

在一个Style文件中为CustomControl所有提供默认generic.xaml是完全合法的。您的问题是,您(可能)已将DependencyProperty控件中的一个(或多个)LeafControl复制并粘贴到您的其他控件,但未更新OwnerType属性。< / p>

只需在LeafControl控件中搜索LeafComboBox,然后将其替换为LeafComboBox。您不能两次为同一对象定义相同的属性。