wpf自定义控件库和wpf类库有什么区别

时间:2014-04-25 11:46:30

标签: wpf custom-controls class-library

WPF自定义控件库和wpf类库之间的基本区别是什么。我想知道dll和架构方面的差异。因为自定义控件本身就是一个类而WPF类库也包含类。但是自定义控件类在wpf类库中不起作用。

1 个答案:

答案 0 :(得分:5)

您可以将WPF自定义控件库视为一个简单的类库,其中包含更多配置:

ThemeInfo汇编属性:

[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
                         //(used if a resource is not found in the page, 
                         // or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
                                  //(used if a resource is not found in the page, 
                                  // app, or any theme specific resource dictionaries)

)]

以上属性指定在何处寻找控件的默认样式/模板。您可以从上面的评论中获得ResourceDictionaryLocation.SourceAssembly的内容,SourceAssembly中搜索Resources的默认位置是您在默认情况下创建的特殊路径Themes/Generic.xaml添加一个新的WPF自定义控件库。

您可以手动添加这些内容并将类库转换为WPF自定义控件库。

如果没有ThemeInfo属性,则仅在应用程序资源字典中搜索默认样式/模板,如果您没有,则会出现错误。这就是CustomControls最常见的不适用于类库的原因。