如果是 WPF 编写的exe,想用NSIS打包. 脚本里面要注意了,如果使用了 FindProcDLL::FindProc 和 KillProcDLL::KillProc, 那么WPF 的编译选项必须是x86, Any CPU是不行的 NSIS代码如下: FindProcDLL::FindProc "${MAIN_PROCESS_NAME}"    Sleep 500    Pop $R0    ;MessageBox MB_OK $R0    ${If} $R0 != 0    ;M…
搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating-a-wpf-chat-client-server-application/ 注意:本教程是相当广泛的,如果你是在短请也看到我们的东西 开始和 如何在几分钟内创建一个客户端服务器应用程序教程. 注2:本例中包括,明显延长进一步证明功能,在包中包含的示例 包下载. 在我们开始之前确保您已经安装了Vis…
原文:WPF 开发自动开机启动程序 本文告诉大家如何在 WPF 开发一个可以自动启动的程序 本文使用的自动开机启动方法是通过快捷方式放在启动文件夹的方式. 创建快捷方式 /// <summary> /// 为本程序创建一个快捷方式. /// </summary> /// <param name="lnkFilePath">快捷方式的完全限定路径.</param> /// <param name="args">…
问题:C#/WPF 使用的Task线程程序缺依旧响应缓慢问题 摘要:相信很多做WPF的开发者在请求接口的时候会去采用开一个线程Task去请求接口.避免UI卡主等等.但有一个问题是但开的线程比较多的情况下程序会卡主一段小时间. 环境:WPF.Win7 四核. 了解Task的使用机制 先上一个环境图: 从图片可以看出机子是四核的Cpu.业务逻辑是从登录到主页的数据全部显示.根据产品的需求,业务的完全展示需要请求大概8个接口.一开始我采用的都是接口同步的情况去请求,然后由于同步导致UI卡顿的原因要求我…
企业应用中,经常会遇到一些需要定时自动执行的程序来完成某些功能,比如:自动定时从第三方web service取回数据.定时对历史数据进行清理.定时向ftp上传业务数据... 这类程序,我习惯称为“机器人”程序,就象机器一样机械.高效.重复的执行某些任务.通常部署上线后,都是放在服务器上一直开着,不允许轻易被关闭,而且最好要有一个界面,随时可以手动方便控制状态或查看运行情况,一旦发生异常情况,能及时通知管理员(Email或短信之类)如果是采用WPF技术开发,以下是几个需要注意的地方: 1.无边框窗…
公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系统中来,让使用者看起来它们好像是一个程序. 在MSDN中有专门的章节提到了在WPF中嵌入Win32控件的办法,那就是使用 HwndHost ,只要把 Win32控件的句柄传递给 HwndHost 就可以了.MSDN中的例子演示的都是在同一个进程内创建的 Win32控件,我一开始认为只要通过FindW…
本文转载:http://www.cnblogs.com/TianFang/p/3184211.html 这个是我以前网上看到的一篇文章,原文地址是:Building a Metro UI with WPF,这篇文章一步步的介绍了如何实现一个Metro样式的窗口,并且效果非常好.今天看到OSChina上有这篇文章的译文:使用WPF来创建 Metro UI,翻译得非常好,这里推荐一下. 值得一提的是,除了这种一步步来的方式外,现在Codeplex中也有不少比较好的metro风格的wpf框架,可以帮助…
关于maf和wpf大家感兴趣的话可以去百度学习一下,下面展示一下成果: 登录界面 主界面:默认的是我的应用,表示已经下载到本地的应用. 辅助应用类似appstore功能,指示未下载或者需要升级的程序列表,实现在线下载更新应用程序插件 这是打开应用的界面,每个应用都会新建一个tab页寄托在主程序中. QQ:94-15-97-411…
一个简单的例子就是大家在使用很多应用程序,例如在使用Microsoft Word 时会遇到一种情况,不管你打开多少个文档,系统一次只能加载一个winword.exe 实例.当打开新文档时,文档在新窗口显示,但是始终只有一个应用程序控制所有文档窗口:如:可以提供平铺当前所有文档中相邻窗口的文档的特性. 对于创建单实例的应用程序,WPF本身没有提供自带的解决方法,但可以通过变通的方式来实现——思路是当触发ApplicationStartup事件时,检查另一个实例是否在运行.方法是通过使用全局的mut…
通常在WPF中出现异常,会导致程序Crash,即使把异常Throw出来,依旧会报错,解决方法只需在App.xaml.cs中进行处理即可,废话不说,代码如下: private int exceptionCount; private void Application_Startup(object sender, StartupEventArgs e) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledExce…
最近需要做一个配置程序,主要给其他程序做相关配置的小工具. 配置项蛮多的,一般我们都是将各个配置项写到配置文件的节点中,比如App.config文件或者自定义的xml文件. 因为我用的是wpf,MVVM,所以其实界面上的所有数据我都存着ViewModel的实体属性中.比如我们新建一个Model,叫SettingModel,界面上不管做任何更改,其实数据都和SettingModel中一样. 我们将这个SettingModel的内存数据序列化到本地文件.等下次运行程序时,再去反序列化将Setting…
WPF性能调试系列文章: WPF页面渲染优化:Application Timeline WPF页面业务加载优化:Ants Performance Profiler WPF内存优化:Ants Memory Profiler 应用程序时间线(Application Timeline) 应用程序时间线工具是VS2015新添加的功能,通过对WPF程序的检测,可以分析应用程序消耗的时间包含用户界面框架.服务网络和磁盘请求.程序启动及页面加载.此处重点介绍程序加载和页面加载的时间性能分析. 模拟分析应用程序…
1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo) 2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里 3.点击 File -> Save Code...: 相应的代码会生成到指定地方. 4. 打开应用程序,并且编译它,此时程序会报如下错误.主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore.添加这两个dll之后程序会编译通过. 5. 这时我们还需要把相应的.X…
一般我们WPF中都加全局捕获,避免出现异常导致崩溃. Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); TaskScheduler.Uno…
本文告诉大家如何不使用框架,从零开始开发一个 dotnet remoting 程序 在我的另一篇博客 WPF 使用RPC调用其他进程 就大概告诉了大家如何在 WPF 使用 dotnet remoting 但是这篇博客是从大的方向告诉大家,所以本文就从代码上告诉大家如何写一个 dotnet remoting 做多进程框架. 首先需要创建几个项目,下面就是本文创建的项目 Native WPF 程序 Remote 控制台项目 RemoteObject 类库 引用项目 这里几个项目的应用关系是 Nati…
删除app.xaml 添加App.cs类 第一种方式: class App    {        [STAThread]        static void Main()        {            // 定义Application对象作为整个应用程序入口              Application app = new Application();            // 方法一:调用Run方法 ,这种方式跟winform的调用一样            WindowG…
最近在开发了一个程序中用到了PasswordBox控件,但是在程序给别人用的时候,鼠标一进入控件时程序就异常退出,查了下windows日志,错误显示如下: 应用程序: WpfPasswordTest2.exe Framework 版本: v4.0.30319 说明: 应用程序通过 System.Environment.FailFast(string message) 请求终止进程. 消息: 不可恢复的系统错误. 堆栈: 在 System.Environment.FailFast(System.S…
设置资源: Application.Current.Resources["ApplicationScopeResource"] = Brushes.White; 使用代码获取资源: Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"]; 参考资料: 如何:获取和设置应用程序范围的资源 | Microsoft Docs https://docs.micro…
使用一个已命名的(操作系统范围的)互斥量. bool mutexIsNew; using(System.Threading.Mutex m = new System.Threading.Mulex(true, uniqueName, out mutexIsNew)) { if(mutexIsNew) { //This is the first instance, can run the appliacation } else { //There is an instance running, e…
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置. 在WPF中,设置外观样式我们有很多种方式,比如通过设置控件的属性来控制控件的外观样式:或者通过在每一个控件中分别设置Style:或者通过在整个Window.Resource中设置Style,又或者在App.xaml的Application.Resource设置Style. 在…
篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblogs.com/baiboy/p/wpf1.html 篇三:批量处理后的txt文件入库处理:http://www.cnblogs.com/baiboy/p/wpf2.html 篇四:关于OneNote入库处理以及审核:http://www.cnblogs.com/baiboy/p/wpf3.html […
WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系,越高档的机器性能越有优势. DataGrid 加载大数据量时卡 : 1.数据库取数据耗时->优化sql 2.DataGrid 渲染耗时->DataGrid 的 EnableColumnVirtualization 和 EnableRowVirtualization 属性,使它进行虚加载来提高性能…
引言 “设计模式”这个让程序员提起来就“酷”的东东,着实让让初学设计模式的programer自我陶醉一番.太多的经历,告诉我们“凡事都要个度,要学会适可而止”,否则过犹不及.“设计模式”也一样,切莫为了“模式”而模式(初学者demo除外),那就失去了GOF 等老前辈提出设计模式的初衷(可复用面向对象软件的基础). 常见应用程序中的三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).…
前几天,我开始了WPF的基础学习,一上来我就遇到了一个令我头痛的问题,按照书上的例子我写了一段属于自己的代码,一个简单的色调器.满心期待的编译运行,就出现了未将对象引用设置到对象的实例.我在网上查阅了一下资料. 一.一般的错误是1.ViewState对象为空(NULL).2.DateSet为空.3.Sql语句或者Database的原因导致DataReader为空.4.声明字符串变量时未赋空值就应用变量.5.未用new初始化对象.6.Session对象为空.7.对空间赋文本值时,之不存在.8.使用…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 皮肤 皮肤是应用程序中样式与模板的集合,可以被整体动态的替换,从而让应用看上去是一种全新的风格.通过皮肤允许第三方任意改变应用程序的外观,WPF并没有内建一个叫皮肤的机制.皮肤及换肤功能可以通过动态资源机制加Style和模板来实现. 下面介绍一个WPF较常见的皮肤定制机制.如果我们希望一个元素的外观可以通过皮肤来定制,我们要将此元素的样式定义为引用动态…
介绍 当2006年微软首次推出Windows Presentation Foundation(WPF)时,它代表了应用程序的设计和开发又向前跨出了巨大的一步.它简化了GUI应用程序的开发,有助于UI和业务逻辑的分离,并且提供了统一的编程模型.语言和框架.真正做到了将界面设计人员与开发人员的工作分离:同时WPF提供了全新的多媒体交互用户图形界面. 自从2006年WPF作为.NET Framework 3.0的一部分发布以来,有四个主要的修订版本.第一个是2007年发布的.NET 3.5,2008年…
WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系,越高档的机器性能越有优势. 程序性能改善不是一蹴而就的,好的设计可以消除影响性能的问题,例如,在运行时构造对象就会对程序的性能造成影响.虽然WPF通过增强的导航等功能提供了更丰富的用户界面,但你应该考虑你的用户是否的确需要富图形界面,尽管WPF有这样那样的问题,但在UI设计,特别是自定义风格和控件…
如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是否吸引用户的眼球也已经成为衡量软件的标准. 软件项目成功的三个要素是:资源.成本.时间.无论是为了在竞争中保持不败还是为了激发起用户对软件的兴趣,提高软件界面的美化程度.恰当的将动画和3D等效果引入应用程序都是一个必然趋势.然而使用传统的桌面应用程序开发工具和框架(如Winform.MFC.VB.D…
WPF 全称为 Windows Presentation Foundation. 核心特性: WPF使用一种新的XAML(Extensible Application Markup Language)语言来开发界面,这将把界面开发以及后台逻辑很好的分开,降低了耦合度,使用户界面设计师与程序开发者能更好的合作,降低维护和更新的成本.这也使得应用不仅仅局限于winforme ,更可以移植到网页(HTML5)上,使得网页拥有客户端的效果. 2.全新的数据banding,使得开发起来更加容易 3.界面与…
参考<葵花宝典-WPF自学手册> VS2012 先创建第一个WPF小程序 1.创建WPF程序 2.查看Solution,WPF中xaml文件和cs文件经常成对出现 两个主要的类:APP(WPF主程序) MainWindow(程序主窗口) 3.添加Button和Click事件 MainWindow.xaml <Grid> <Button Content="Hello WPF" Margin="5" Click="Button_C…