ClassLibary和WPF User Control LIbary和WPF Custom Control Libary的异同
2016-04-29 09:22
537 查看
说来惭愧,接触WPF这么长时间了,今天在写自定义控件时遇到一个问题:运行界面中并没有显示自定义控件,经调试发现原来没有加载Themes中的Generic.xaml。
可是为什么在其他solution中可以成功显示呢?后来就google学习了一下WPF中加载资源的相关文档,但都是理论性的介绍。对这个问题还是没有多大的帮助。
没有办法只能比较两个solution中的proj有什么不同,打开proj属性,发现application、build、buildEvents...等都一样,后来只能比较assemblyInfo,发现多了
一瞬间像找到了答案一样兴奋(虽然没有验证),继续万能的google呀,于是找到了ClassLiary,WPF User Control Libary,WPF Custom Control Libary.
1:先看Class Library和WPF User Control Library,区别在于,
增加了4个Reference,PresentationCore,PresentationFramework,System.Xaml,WindowsBase
AssemblyInfo.cs中多了ThemeInfo的Attribute,如下,
所以如果要在一个Class Library中新建一个WPF UserControl就需要新建一个WPF UserControl,Visual Stuido会自动为你加入4个Reference,然后手动在AssemblyInfo.cs加入ThemeInfo即可.
2:然后说说WPF User Control Library和WPF Custom Control Library的区别,结果看下来基本没区别,无非是Custom Control Library默认帮你创建了一个CustomControl继承Control,然后在Themes目录下创建了Generic.xaml。
所以如果新建Class Library后需要创建Custom Control,就需要增加对应的4个Renference,在Add File中无法增加Custom Control,这个VS有点2,只能手动创建Class,然后改为继承自Control,
然后创建目录Themes增加Generic.xaml,确定Generic.xaml的build方式为Page,最后增加ThemeInfo即可。
3:总结一下,原来真的就是assembly中的assembly:ThemeInfo那段代码起到了加载ResourceDictionary的作用。不禁感慨在项目中直接根据源代码摸索真不如好好看一本书呀。
原文:http://www.cnblogs.com/jljxxf/p/3365563.html
可是为什么在其他solution中可以成功显示呢?后来就google学习了一下WPF中加载资源的相关文档,但都是理论性的介绍。对这个问题还是没有多大的帮助。
没有办法只能比较两个solution中的proj有什么不同,打开proj属性,发现application、build、buildEvents...等都一样,后来只能比较assemblyInfo,发现多了
1:先看Class Library和WPF User Control Library,区别在于,
增加了4个Reference,PresentationCore,PresentationFramework,System.Xaml,WindowsBase
AssemblyInfo.cs中多了ThemeInfo的Attribute,如下,
2:然后说说WPF User Control Library和WPF Custom Control Library的区别,结果看下来基本没区别,无非是Custom Control Library默认帮你创建了一个CustomControl继承Control,然后在Themes目录下创建了Generic.xaml。
所以如果新建Class Library后需要创建Custom Control,就需要增加对应的4个Renference,在Add File中无法增加Custom Control,这个VS有点2,只能手动创建Class,然后改为继承自Control,
3:总结一下,原来真的就是assembly中的assembly:ThemeInfo那段代码起到了加载ResourceDictionary的作用。不禁感慨在项目中直接根据源代码摸索真不如好好看一本书呀。
原文:http://www.cnblogs.com/jljxxf/p/3365563.html
相关文章推荐
- 自然连接和等值连接的区别
- i2c知识总结及协议解析
- Android LayoutInflater
- 阅读《构建之法》 第5.5 第6 第7章
- .NET使用ZXing.NET生成中间带图片的二维码
- MFC打开文件夹读取图片
- I2S总线
- jpype和HanLP
- NSMutableAttributedString
- 专项测试之SQL调优
- 使用inotify和git pull 实现网站自动部署(附wordpress插件)
- 关于“产品”的笔记
- 使用WindowsAPI获取录音音频
- iOS提交审核:您的 App 正在使用广告标识符 (IDFA)
- GeoTrust 企业(OV)型 通配符(Wildcard) SSL证书
- HTTP知识点总结
- iOS 分享到微信 缩略图显示不出来问题解决办法
- 瀑布流Demo
- 【论文笔记】Reading Scene Text in Deep Convolutional Sequences
- Mac使用brew安装boost库