WPF开发一般都用什么框架啊。
小的话 我用的MVVMlight
稍微大点的 模块比较多的,并且还想有IOC和 AOP功能 ,模块化和IOC的话 可以用Prism.Unity ,但是里面没有AOP功能。新的好像不支持AutoFac了。
想用.Net5 建项目 不在framework上
有大佬解答一下嘛。。
prism项目我是这么建的
PrismDemo.Shell
PrismDemo.Services
PrismDemo.Common
PrismDemo.Styling
PrismDemo.AModule
PrismDemo.BModule
不能带来效率(开发和运行)和管理的框架对我来说没多大意义,
使用框架我比较谨慎,没有必要动不动就上框架。
最近刚好在做wpf客户端工具(增加了多媒体3d、全景等的组态),既然上图了 —— 也强调一下代码即注释的原则(当然还有代码即配置的原则等等)
对了,里面服务器因为一些场景(比如不需要FileHandler等等),也不用框架,
为什么没用第三方的——或许太壮,或需要更繁杂的代码写法;
wcf也没用—— 因为下一个版本走core,代码不能继续用(怕时间来不急,太多控件组件自己去适配core不划算,因此暂时用framework)。
对比资源管理,winForm的资源管理更好一点或者更习惯一些(更接近游戏这种资源多管理统一的方式),不过基本上也就是Icon和登录(产品装样子)两张图,其余除Loader(转圈圈那个东西),均使用TTF。(下图是 窗口类 和 窗口的零件Loader,为什么这么写 ——方便下次一次性拷贝,不用去做资源管理)
WindowScada->WindowEx{Loader}->WindowBasic
这个WindowBasic生产过两个产品,正在第三个产品中,LServiceBase(当初兼容的是Wcf,一直维持着Open Close)就更多了,应该存活了差不多10多年了。
由于Thread、Task、STA、WPF...,活了几代(也不断调账的)的DoLoadWork,终于这代补加了async
Log4这个时间比LServiceBase更久远
这些东西都是累积,每一次项目第一件事就是 Nuget,Copy,他们早已经成为不同产品的一部分(有分支,如做服务器,视图的部分通常是不需要的)。
最后展示一下这个LModule的一部分,
也给你一个Bind建议 eg:
colorBorder.SetBinding(Border.BackgroundProperty, new Binding(ClassEx.GetPropertyName<Primitive图表读取器.Bean>(t=>t.Color)){Converter = new ColorToBrushConverter()});
好处是智能化,且编辑时即可报错,尽量避免一切需要手动 的字符串化的编程。
xmal不是万能,写法可以多参见ms内部实现。
@花飘水流兮: 谢谢讲解。我做客户端时间不长。要做成模块化插件化的。所以就想了解一下目前都有哪些好用的框架。。这个不比做网站 一搜一大堆。。
core自带ioc,你想替换成autofac,也可以自己实现
aop你用attribute自己就可以实现一个
attribute 实现 我已经写了一个 autofac的话 我也写了一个 都能用。。不过这不是用上Prism.Unity了么。 想着有什么好用的