2010-01-07 126 views
0

我有WPF自定义控件,我做了一个奇怪的问题。当我从工具箱拖放WPF自定义控件到设计表面时,我只能看到一个没有任何控件的边框...我有另一个WPF自定义控件项目具有相同的自定义控件和相同的代码,当我引用该项目时一切正常。Wpf自定义控件问题

我在主题文件夹中的模板被称为DatePicker.Generic.Xaml,我已经定义

<Style x:Key="{x:Type DateControls:DatePicker}" 
     TargetType="{x:Type DateControls:DatePicker}"> 

其中DateControls是我的DatePicker自定义控件的XML命名空间。 我还新增了

[assembly: ThemeInfo(
    ResourceDictionaryLocation.SourceAssembly, 
    ResourceDictionaryLocation.SourceAssembly)] 

在assemblyinfo文件中。 有人可以帮忙吗? 谢谢

回答

0

你可能想看看ComponentResourceKey标记扩展。当您设置Style元素时,请查看TypeInTargetAssembly和ResourceId参数(componentresourcekey的)。

+0

我看,一切似乎都很好。我有几次定义TypeInTargetAssembly = {x:Type DateControls:DatePicker},ResourceId = DropDownButtonStyleKey与不同的ResourceId和DateControls是好的命名空间... – 2010-01-07 12:59:50

1

检查您的控制代码是否有一个静态构造函数,该静态构造函数使用适当的类型参数调用DefaultStyleKeyProperty.OverrideMetadata(如果您在VS中添加新的自定义控件,则会为其生成)。