精华内容
下载资源
问答
  • 前阵子在公司弄个内部的进销存管理系统,从了解需求、系统设计到编码,大约耗费了两个月时间,后来公司有了其他的安排,这东西就算黄了。顺便吐槽一下,厂里的一些人说话真心不顾别人感受,邮件啥的没一句舒服的。...

      前阵子在公司弄个内部的进销存管理系统,从了解需求、系统设计到编码,大约耗费了两个月时间,后来公司有了其他的安排,这东西就算黄了。顺便吐槽一下,厂里的一些人说话真心不顾别人感受,邮件啥的没一句舒服的。不过以前在别的地方干活都是很多人弄,一直都是按领导的意思办即可,基本上不怎么跟人打交道,不能保持淡定的心态说明还是too young了点,这也算是个历练吧。

      弄这个项目,好歹也辛苦了一阵子,另外细节方面感觉自己差不多做到位了,也算尽心了。这里先附几张效果图,接下来将针对几种常见的业务场景抠出一些代码,并作简单说明,期望能对其他人有些许帮助。

    1、UI模块解耦

    2、带选项框(三种状态的选项框)的TreeView。选中节点,后代节点会自动全部选中,同时会改变祖代节点的选中状态

    3、主从结构列表

    4、主从结构保存

    5、数据校验

     

    6、自定义控件,弹出选择框,一般用于表之间的弱关联关系,比如选择用户Id(非外键,只是一个引用)

     

    转载于:https://www.cnblogs.com/Fuss/p/4088568.html

    展开全文
  • WPF企业项目源码

    热门讨论 2014-01-27 13:26:04
    WPF企业项目源码 是企业内部使用的一个开发平台 采用MVVM技术框架
  • JHRS一个新学WPF的IT老鸟,肝了2个月做了这么一个WPF企业级开发框架,站长clone学习,觉得甚是不错。这是一个使用了Prism搭建的插件式框架,封装了DataGrid的使用,使...
    JHRS

    一个新学WPF的IT老鸟,肝了2个月做了这么一个WPF企业级开发框架,站长clone学习,觉得甚是不错。这是一个使用了Prism搭建的插件式框架,封装了DataGrid的使用,使整个框架子模块简单易学、易扩展,特别是作者还写了一个系列博客教程,值得点赞。


    下面是作者博文系列首篇:WPF企业级开发框架搭建指南(启示录),2020从入门到放弃


    这个系列的文章旨在记录工作中使用WPF开发新的医疗项目中,有感于必须统一掉一些规范上的事情,并且提高团队开发效率,遂折腾了这么一个半吊子的框架,这个标题WPF企业级开发框架搭建指南,2020从入门到放弃可能会唬住一些人,但看到这些零碎文字的朋友就凑和着看吧,如果能帮助到你,那也荣幸了。

    WPF技术是一个很不错的技术,但一直没有上手过正式的项目,趁在做这个医疗项目时,遂搭建一个WPF开发框架,目的是为了统一WPF开发并提高开发效率;我对WPF技术算是零基础,现学现卖,用这些不成体系的文字予以记录一些想法和实践。

    WPF企业级开发框架搭建系列文章导航


    1. WPF企业级开发框架搭建指南(启示录)

    2. JHRS开发框架之基础类库

    3. JHRS开发框架之第三方框架选型

    4. JHRS开发框架之WPF调用Web API封装

    5. JHRS开发框架之客户端入口项目

    6. JHRS开发框架之各子系统如何整合

    7. JHRS开发框架之怎样设计合理的ViewModel基类

    8. JHRS开发框架之公用组件用户控件的封装

    9. JHRS开发框架之建议遵循的一些建目录文件原则

    10. JHRS开发框架之WPF数据验证

    11. JHRS开发框架之ViewModel相互传参和弹框回传参的解决办法

    12. JHRS开发框架之踩坑记(终章)

    WPF管理系统开发框架设计图


    在正式开始WPF开发框架搭建之前,做了一些技术选型和在群里面咨询了下对WPF技术比较了解的群友,当中就属dotnet9.com的站长经常被笔者叨扰。先来说说我期望中的开发框架要实现哪些功能。

    在开始搭建之前呢,还是晾一下最终的架构图吧。

    WPF基于WEB API开发管理系统框架

    上图就是折腾出来的一个框架,图不美观的话,大伙也就凑合着看吧。下图是解决方案:

    框架解决方案
    • 开源地址:https://github.com/jhrscom/jhrs

    • 官方博客:https://jhrs.com

    • 用到插件:https://marketplace.visualstudio.com/items?itemName=PeterSpa.XamlBinding

    开发环境


    因为项目是使用WPF来开发的,自然基于【MVVM】的理念搭建了这么一个快速开发框架,适用于开发【传统类型的管理系统】,并通过调用web api的方式来完成所有的业务操作,在WPF的Page,窗体(Window),用户控件的后置代码,几乎不会有任何的业务代码,除了一些控制界面行为的功能

    在搭建这个框架时,是基于最新的 【 .net 5】用的技术版本是比较新的,演示代码中,wpf也是使用 .net 5

    采用.NET 5开发

    使用技术说明

    • 技术平台:.Net 5.0

    • 技术框架:WPF + Prism+ AspectInjector + Refit

    • IoC组件:Prism自带Prism.Unity

    • 数据序列化:Newtonsoft.Json,可替换

    • 日志记录:系统自带

    解决方案详解


    解决方案从上到下依次为:

    JHRS.Core(客户端业务核心)

    客户端业务核心

    在JHRS.Core这个库里面,各个目录功能说明如下:

    1. Aop:实现了一个点击按钮显示转圈圈效果的类,一般用于加载数据,点击按钮从服务器获取数据让用户等侯片刻。

    2. Apis:保存着代码生成工具【JHRS.GenerateAPI】自动生成的接口,该工具可以在线解析swagger生成供调用的接口,参见这里(使用该工具需要设置swagger地址,另外有bug的话,自己修改下就可以了)。

    3. Controls:定义了WPF界面使用的公用控件(保存在Controls目录),如通用表格(DataGrid),下拉框等,凡公用的控件,都可以保存在此目录。

    4. Enums:公用的枚举,各个模块可以引用。

    5. Events:事件类,Prism自带事件总线,相应的事件类在这个目录创建,具体应用参见这里。

    6. Extensions:扩展类

    7. Identity:身份认证,即登录系统后,从服务器端获取到的身份认证会话信息(用户,token等)。

    8. Models:各个模块的DTO对象,一般是根据swagger解析出各个接口的实体对象(输入,输出DTO)。

    9. Modules:模块的辅助类。

    10. ViewModels:这个目录里面定义了ViewModel的基类,处理各个功能Page业务的ViewModel类,需要从这里继承对应的类,如管理页面继承BaseManagePageViewModel,而新增编辑页面继承BaseDialogPageViewModel类等。并且在基类里面定义了公共方法,如消息提示框,消息弹框,打开模态窗口等,效果见下方所示。

    JHRS.Shell(WPF客户端入口程序)

    WPF客户端入口程序

    JHRS.Shell是WPF客户端项目的入口程序,并且定义了整个系统公用的消息提示框,模态窗口风格,主窗口等;登录的入口也是在这里定义的,登录系统后,可以自行实现权限功能加只加载对应的子模块(子系统);在程序启动时,会自动做一些初始化操作,扫描程序集自动注入相关功能,具体实现参见这里。

    消息提示框

    消息提示框

    消息弹框

    消息弹框

    确认消息框

    确认消息框

    模态窗口

    模态窗口

    遮罩层效果(蒙层效果或Loading效果)

    遮罩层效果一般用于点击按钮,加载数据时使用,即调用接口到数据呈现中间有一个等待的过程,就可以显示出来,因此在框架中通过AOP方式封装了这么一个效果,调用时在相关的地方标记一个特性即可。先来看看效果。

    遮罩层效果

    该效果是直接从CSDN抠过来的,然后整到到代码里面去的,纯演示目的。

    参考链接:https://blog.csdn.net/lhx527099095/article/details/8005095

    modules解决方案文件夹

    modules解决方案文件夹

    在modules这个解决方案文件夹里面的是各个子模块,也就是各个子系统,例如【JHRS.OutpatientSystem】是WPF项目的子系统之一(门诊模块);在各子系统中,最外层拥有一个Module的类(OutpatientSystemModule),需要实现IModule接口供Prism自动扫描注册到容器里面。

    在子模块中,目录的组织原则如下。

    目录组织原则

    |----- JHRS.OutpatientSystem 命名规则:【JHRS】点【模块名称】
    |----- Controls 表示当前模块的控件库存放目录
    |     |------- Manager 子目录
    |     |------- SysManager 子目录
    |     |--------其它子目录
    |------ Extensions 当前模块扩展类
    |------ Model 当前模块实体,如查询条件实体
    |------ ViewModels 【固定命名,不能改动】
    |    |------ScheduManager 各管理功能目录
    |    |--------XXXXViewModel.cs 每个功能页面的ViewModel类
    |    |--------其它ViewModel.cs 其它页面的ViewModel
    |-------Views 【WPF页面,固定命名】
    |    |------ ScheduManager 功能目录
    |    |------XXXXXXX.xaml WPF页面
    |    |------XXXXXXX.xaml WPF页面
    |    |-------SysManager 功能目录
    |------- OutpatientSystemModule 命名:模块名称+Module
    

    在每一个子系统中,最外层的一个模块类,名称规则为:【模块名称+Module】,编写这个类是为了使用Prism加载这个模块。

    JHRS(基础类库)

    JHRS(基础类库)

    基础类库,可以任意扩展,该库可以供其它所有库引用。

    JHRS.GenerateAPI(代码生成工具)

    该工具是在线解析swagger生成供Refit调用的接口,生成的接口如下:

    接口

    调用接口的示例代码如下:

    var response = await RestService.For<ILoginApi>(baseUrl).Login(CurrentUser);if (!response.Succeeded){         Alert(response.Message);         return;}
    

    最后


    对于WPF开发来说,我并不是很熟悉,这段时间以来一直网上学习和借鉴一些开源的框架,再结合实际项目而整出来的这个开发框架;可能对于从事WPF开发的朋友来说有一定的借鉴意义。

    完整的项目代码已经开源到github上面。在这个项目中,并不包含web api的项目。

    • 开源地址:https://github.com/jhrscom/jhrs

    • 官方博客:https://jhrs.com

    展开全文
  •  关于其他:就是大家能够利用业余时间一起交流沟通,共同提高,构建一个属于自己的企业级软件开发平台。   加入方式  因为是起草开源的项目,不会采取收费或者是什么方面的方式,可能在未来,一旦项目...

    开篇

            2012年,提前祝大家新年快乐,为了加快2012年的开发计划,特打算年前和大家分享一下2012年的开发计划和年后具体的实施计划,希望有兴趣或者有志之士共

    同加盟,我们一起完成一项属于自己的项目,实现共赢,无论是工作或者是学习上的双赢。

            我为什么要现在发布这样的文章呢,其实是想年前大家能对我提出的观点或者意见有个自己的想法,年后大家一起交流下,不管您有什么样的想法,我都会欢迎

    并且支持大家提出自己的意见和看法。废话我也不多说了,下面我就说说我现在想开发的开源项目的计划和思路,大家如果觉得还不错,那么就请大家和我一起合作

    开发吧。

     

    大纲

    1、开篇

    2、大纲

    3、项目说明

    4、关于合作

    5、加入方式

    6、其他

    项目说明

           关于这个项目的构思,已经有很长的时间了,可以说对个人的技术方面的要求也是比较全面,要求您至少熟悉其中的一部分,比如说,该项目中会用到如下相关

    技术,不是说要求每个人都必须掌握,但是至少要精通一门。

            image

    项目涉及到的还有其他的一些细节的技术,这里面就不细细的体现了,等到具体项目的开发的过程中就会产生很多的问题了,到时候大家再研究即可。

            项目最终的运行的效果类似与QQ现有的情况,但是该软件可以支持互联网和企业级应用。如果是企业内部,开发人员或者行政人员,通过不同的功能模块的权

    限配置,那么全公司所有的人员使用该软件即可,实现通信,邮件,办公等全方位的工作。关于具体的功能,只需要权限进行分配即可。至于其他的具体的功能,都

    是以插件的形式进行开发。开发完成后,只需要进行发布和注册,通过权限配置来加载到应用平台中,在此有点类似腾讯的Q+平台,后续只需要提供API,那么企业

    可以自行扩展功能。

             目前,我只是搭起来了简单的框架和基础项目方案,关于具体的核心功能支撑和其他的模块,我这里还没有开始进行,不过我这里想要寻找志同道合的朋友,

    或者是对目前这个项目有兴趣的朋友加入,大家互相学习,共同进步,我相信2012我们会战果累累。

            这里Show几个丑陋的页面吧:不会美工干的事情,就是悲剧啊。

            image

            效果不是太好,输入用户名、密码后,出现如下状态页面:

            image动画的效果,其实很简单,就是太丑了。

            登陆成功后:

            image

            当双击某个联系人后,弹出如下界面:

            image

            界面的风格和功能,还有待完善和提高,包括符合人群的易用性等方面,不过总体来说,所有的其他的东西,都是依附与IM之上的东西,关于目前市场的是否

    有现有类同的软件,我没有具体的调研过,但是我期望的东西,至少目前市场上是没有的。

     

    关于合作

           我这里是想发起一个不错的项目,希望有兴趣的或者是对这方面想提高的朋友,我们大家共同交流和学习,共同提高,无论是对自身未来的发展或者是自己的竞

    争力,都会有很大的提升,收获就在2012.

           合作方式:大家一起完善该项目。

           项目职责:加入项目后,必须负责到项目结束。

           代码开放:针对加入项目的人员可以免费获取完整代码。

           保密协议:不得利用该项目从事商业活动。

           关于其他:就是大家能够利用业余时间一起交流沟通,共同提高,构建一个属于自己的企业级软件开发平台。

     

    加入方式

           因为是起草开源的项目,不会采取收费或者是什么方面的方式,可能在未来,一旦项目成熟,可以进行市场推广的时候,如果产生了利益,那么会和加入项目的

    成员进行平分,每人有份的原则,同时对项目感兴趣,提供了自己的意见和看法的同仁给予利益分配。我在这里发起这样的项目不是为了金钱,只是希望能够大家一

    起干点事情,做出一些符合我们软件开发人员和软件公司企业内部,提高公司管理和软件开发效率的这样的一个工具,所谓工欲善其事必先利其器,我发现这个古训

    太正确了,其实给予我们周围的压力很大,这时候,把影响我们工作的因素都把他们对我们工作的影响程度最小化,这往往比我们在软件研究方面如何提高软件的开

    发速度,改进开发模式等来的更直接。当然随着软件开发流程和模式的不断成熟,我们会慢慢上升到理论层次。  

            加入条件:(满足部分即可)

            1、对项目有兴趣,一旦加入,不可索取源码后退出。

            2、一旦加入,可以不进行相关源码的开发,但是需要提出非常有价值的意见和想法。

            3、对项目中的未来发展和定位,有一定想法的朋友。

            4、对项目中可以加入的有价值的功能,特别是熟悉相关业务的朋友。

            5、了解软件工程方面的。

            6、有一定C#编程经验。

            7、渴望提升个人技能和管理经验的朋友。

            8、公司软件开发过程管理进行探讨的朋友。

            9、其他(待定。。)

    其他

            上面已经详细的介绍了关于项目的一些内容,其实上面我还没有完全介绍项目包含的哪些东西,关于这方面的介绍,我后续会专门写一篇构思和这个项目包含的

    内容,我们可以考虑采用敏捷开发的模式,针对项目内部的成员,自行完成,大家共同努力,共同提高。

            plus加入项目:

             QQ超级群:147565174 (500人上限)  欢迎大家踊跃加入,谢谢!

    展开全文
  • 例子完整准确,能够运行。
  • 这几年用WPF开发的越来越多了,因为公司是追求效益的,追求最大的生产利润。软件开发这行业也一样,要节约成本,就要缩短开发周期,提高劳动生产率。要提高劳动生产率,就要选择最为合适的开发工具。以前用C++,后来...

    这几年用WPF开发的越来越多了,因为公司是追求效益的,追求最大的生产利润。


    软件开发这行业也一样,要节约成本,就要缩短开发周期,提高劳动生产率。


    要提高劳动生产率,就要选择最为合适的开发工具。


    以前用C++,后来WinForm,再后来WPF。因为用C++做某些界面要做半年,用WPF可能1一个月就搞定了,节省不少人力成本。


    举个最简单的例子,用C++做个复杂的DataGrid,要求单元格能拆分,合并,能放置图标,进度条等等,还要支持多维表头和不规则表格。除了购买第三方库之外,几乎没有别的办法,自己开发的话,光这一个控件估计也够写2个月的。


    而换WPF之后,这种问题轻松解决,因为有现成的。


    WPF外包欢迎联系北京动点飞扬


    QQ:372900288

    TEL:13911652504


    展开全文
  • wpf自定义漂亮的二菜单,数据加载方便,可扩展,适合企业及项目
  • [Packt Publishing] 企业级架构 MVVM 模式指南 (WPF 和 Silverlight 实现) (英文版) [Packt Publishing] MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF (E-Book) ☆ 出版信息:☆ ...
  • 对于之前用Winfrom做项目开发工具的朋友来说,用WPF来开发项目估计会有点痛苦,尤其要用MVVM模式来做项目开发框架,更是感到揪心,很难拍拖那种把view 和viewmodel完全解耦的那一种思路。 在我们开始做项目之前,...
  • 前言对于WPF和Silverlight来讲,MVVM是微软设计师和业内专家高度推荐的非常棒的一种设计模式。本书会探讨MVVM设计模式的一些自身缺陷以及为什么...实现MVVM设计模式是一个不小的挑战,本书还会帮你在企业级应用项目...
  • 第一章 表现模式关注分离(soc)是企业及软件开发中非常有用的核心原则,也是许多表现模式背后的驱动力量。在WPF和Silverlight开发中,MVVM成为了实现关注分离最为有效的设计模式。然而,这种模式与其他表现模式...
  • 关于本人——圣殿骑士刚 入住博客园和51CTO写技术博客,目前主要在一家外资企业从事项目管理、技术架构及企业技术培训工作。由于工作和项目需要,所以对一些技术进行了较为深入的研究,之 前在整个公司做过一些技术...
  • WPF企业内训全程实录(上) 一. 摘要  圣殿骑士由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻。一直都想...
  • Wpf ComboBox 多级正向级联比较容易实现,想实现反向级联...本示例程序为一个简约到极致的企业管理系统,使用EF Code First,Sql Compact数据库,实现不同地址的5行政区划选择和浏览,实时产生含行政区划名称的地址。
  • 之前有个前辈和我说过这样一句话,其实写代码就和你写一本书一样,要有章节可循,要让读者一看就明白要点在哪里,要找什么信息就能够知道从哪里去找,这就是一门艺术,说的这些我一直记在心里,一直都朝这个方向去...
  • MVVM企业级架构指南+源码,深入讲解MVVM设计模式,附有实例代码
  • Style这个东西几乎是无处不在,这个类似于web开发中的css样式,想要做一个很丰富的UI,这个东西是必不可少的,我也不是专业的UI开发者,这边只能介绍Style在WPF中的用法 下面有一个下载地址,这个demo还可以供...
  • WPF其实不仅仅是图形引擎而已,它将给Windows应用程序的开发带来一次革命,因为新的架构提供了一种全新的开发模式。当然对于普通用户而言,最直观的就是界面越来越漂亮,看起来越来越舒服了;但对于开发人员而言,...
  • 优点: 功能强大,开发复杂界面效率极高,是MFC的10倍以上,几乎可以...由于是托管代码,底层采用DirectX,运行效率比二进制代码低,对显卡有一定的要求WPF适合做定制项目或产品的客户端开发,现代的计算机速度下,...
  • WPF 基础到企业应用系列3——WPF开发漫谈 1.开篇前言  首先很高兴这个系列能得到大家的关注和支持,基于对大家负责和对自己负责的态度,我会不断努力写好这个系列,分享自己的微薄技术和经验,希望在帮助别人...
  • 这个系列的文章旨在记录工作中使用WPF开发新的医疗项目中,有感于必须统一掉一些规范上的事情,并且提高团队开发效率,遂折腾了这么一个半吊子的框架,这个标题WPF企业级开发框架搭建指南,2020从入门到放弃可能会唬...
  • 从v.17.2开始,DevExpress WPF套件提供了DevExpress.Xpf.TypedStyles程序集,其中包含以下控件的类型样式: 用于基础WPF程序集(WindowsBase、PresentationCore、PresentationFramework)中的控件; DevExpress ...
  • Eallies OA 使用说明 1、本程序在Windows 2003、SQL Server 2005、Visual Studio 2008环境下测试通过。...1、综合采用最新的WCF/WPF/WF/LINQ技术。 2、优秀的系统架构。 3、完整的后台代码自动生成器。
  • 代码下载地址 : https://files.cnblogs.com/files/hwy425/WPF%E5%BA%94%E7%94%A8%E9%A1%B9%E7%9B%AE%E6%BA%90%E7%A0%81%E6%A1%88%E4%BE%8B.rar 转载于:https://www.cnblogs.com/hwy425/p/5020680.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,637
精华内容 2,254
关键字:

wpf企业级