博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Songqw.Net 基础]WPF插件化中同步Style
阅读量:5216 次
发布时间:2019-06-14

本文共 1724 字,大约阅读时间需要 5 分钟。

原文:

版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei1988/article/details/50910590

之前将WPF Client中的各个页面拆分为一个个插件,进行开发,界面是原生的还好说,一旦统一样式,每个插件模块都来一份资源文件,就不合理了喽.

先从Style入手,做一下同步.

思路是直接将Style拆离出来,即不再主框架中,也不再插件中实现.

新建项目 :Songqw.Net.WPF.CommonStyle

新建xaml文件, 不需要xaml.cs 删掉即可~

新建CommonUI.xaml

3,3,3,3
ResourceDictionary : 资源字典出现的初衷就在于可以实现多个项目之间的共享资源,资源字典只是一个简单的XAML文档,该文档除了存储希望使用的资源之外,不做任何其它的事情。

详细介绍:http://www.cnblogs.com/tianyou/archive/2012/12/07/2806835.html

到这里,资源项目完成.下面进行调用~

在主程序添加如下代码:

using System;using System.Windows;namespace Songqw.Net.WPF.Application{    ///     /// App.xaml 的交互逻辑    ///     public partial class App    {        private void Application_Startup(object sender, StartupEventArgs e)        {            var r = new ResourceDictionary();            r.MergedDictionaries.Add(new ResourceDictionary()            {                Source =                new Uri("/Songqw.Net.WPF.CommonStyle;component/CommonUI.xaml",                    UriKind.RelativeOrAbsolute)            });            Resources = r;        }    }}
这里要注意,确定dll文件复制到的运行目录

最后,在各个插件模块中直接输入key 即可使用

 

最开始以为每个插件都需要加载资源字典才可以运行,实际上不是的,主需要主程序加载了资源字典,各个加载模块的插件是可以访问到主程序中的样式的.

换句话说,即时不把样式从主程序中分离出来,也是可以的.

既然能分离,还是就分离了吧,也为自动更新铺一下路.主程序尽量不更新了被.

呵呵

posted on
2018-10-21 14:00 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/9824856.html

你可能感兴趣的文章
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>
15.210控制台故障分析(解决问题的思路)
查看>>
BS调用本地应用程序的步骤
查看>>
常用到的多种锁(随时可能修改)
查看>>
用UL标签+CSS实现的柱状图
查看>>
mfc Edit控件属性
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>
Java实现二分查找
查看>>
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
springboot---redis缓存的使用
查看>>
架构图-模型
查看>>
sql常见面试题
查看>>
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>