饱含辛酸开发 WPF CustomControl】的更多相关文章

引言 不知不觉间WPF开发已有两年光景,或许有很多人会问WPF还需要学习吗?WPF还有前途吗?其实我也很担心这个问题. .Net Core3.x已经支持WPF开发,.Net 5也宣布要支持WPF.是否意味着WPF还有崛起的机会,亦或是像Silverlight的中途搁浅? 带着以上的迷茫和困惑写一写WPF Style及CustomControl,算是对自己的安慰,也是对微软未来的一种期盼. 一.菜单 仿WIn10菜单 二.Bubble PopUp弹窗 三.Button 四.Carousel 五.C…
题外话 不出意外,本片内容应该是最后一篇关于.Net技术的博客,做.Net的伙伴们忽喷忽喷..Net挺好的,微软最近在跨平台方面搞的水深火热,更新也比较频繁,而且博客园的很多大牛也写的有跨平台相关技术的博客.做.Net开发块五年时间,个人没本事,没做出啥成绩.想象偶像梅球王,年龄都差不多,为啥差别就这么大.不甘平庸,想趁机会挑战下其他方面的技术,正好有一个机会转前段开发. 对于目前正在从事或者工作中会用到WPF技术开发的伙伴,此片内容不得不收藏,本片介绍的八个问题都是在WPF开发工作中经常使用到…
示例代码 使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中Host WPF的Page.下面我就做个详细的介绍. 一.创建工程, 由于MFC的Wizard会生成很多用不到的代码,所以我准备从一个空的工程开始创建一个MFC的工程. a)         打开VS2005,菜单File->New->Projects…, 左面选择Visual C++->Win32,右面选择Win32 Console Application,给工程起个名字CPlusPlus_WPF, Ok进入下一…
原文:MEF 插件式开发 - WPF 初体验 目录 MEF 在 WPF 中的简单应用 加载插件 获取元数据 依赖注入 总结 MEF 在 WPF 中的简单应用 MEF 的开发模式主要适用于插件化的业务场景中,C/S 和 B/S 中都有相应的使用场景,其中包括但不限于 ASP.NET MVC .ASP WebForms.WPF.UWP 等开发框架.当然,DotNet Core 也是支持的. 在上篇文章中,笔者大致讲述如果在控制台程序中创建一个简单的 MEF 应用程序.如果有读者不太清楚,可点击 ME…
我从一万二千年前开始写XAML,这么多年用了很多各式各样的工具,现在留在电脑里的.现在还在用的.在写WPF时用的也就那么几个.这篇文章总结了这些工具,希望这些工具可以让WPF开发者事半功倍. 1. Visual Studio Visual Studio应该无需介绍,它是"面向任何开发者的同类最佳工具".对WPF来说Visual Studio既是鸡又是蛋,WPF开发者甚至有时会反编译它的代码参考参考,最近HandyControl也参考Visual Studio代码增加了一个GlowWin…
题外话 打开博客园,查看首页左栏的”推荐博客”,排名前五的博客分别是(此处非广告):Artech.小坦克.圣殿骑士.腾飞(Jesse).数据之巅.再看看它们博客的最新更新时间:Artech(2014-08-07) .小坦克(2012-02-13).圣殿骑士(2015-06-30).腾飞(Jesse)(2013-12-18) .数据之巅(2016-02-19) .虽然数据之巅在最近发表了一篇博客,但是再看看倒数第二篇,更新时间是2015-11-18.从数据的现象看感觉现在技术大牛们博客更新的越来越…
题外话 最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事WPF开发的程序猿. 现在书看完了也该实践实践,写了个WPF项目,主要以界面框架为主.  最近的几篇博客也主要围绕这个WPF项目,介绍下WPF搭建界面框架以及怎样写自定义的Windows界面和控件. 这也许是写最后几篇关于.Net技术的博客.做.Net开发也快五年了,感觉自己搞得不温不火,另外工作中正好有一个机会转做…
不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用. public class NewWall : IExternalEventHandler    {        public void Execute(UIApplication app)        {           “”比如说创建墙的代码”        } public stri…
因为疫情影响,公司裁员,结束了一年多的web开发经历,重新开始做桌面,新公司用的是WPF(居然用的是winform style...),当然这跟本文没有关系...上篇博客写的用后台api和前台浏览器控件的方式来做桌面程序,这篇文章用nancy+cefsharp实现了一种方式,使用WPF的原因是因为winform在高分辨率屏幕上会有问题,cefsharp会显示黑边,虽然可以解决,但始终不是很好的感觉.演示界面如下: 后端API nancy是一种web后端框架,现在已经不再维护,但是功能应该说已经很…
在设置wpf程序全屏后,点击某个listbox列表,发现程序下面出现了任务栏. 查找解决答案未果.仔细一想可能是win8系统的问题. 最后试着把listbox的滚动条去掉了,问题解决. 原因:当程序中出现滚动条时,程序窗口可以拖,这是win8的特效. 解决:遇到这种问题,把出现滚动条的地方都修改让它不出现.…
[MVVM]目的是为了分离视图(View)和模型(Model)的耦合——解耦 1.View负责前端展示,与ViewModel进行数据和命令的交互.(双向的数据属性传递,单向的命令属性传递View→ViewModel) 2.ViewModel,负责前端视图业务级别的逻辑结构组织,并将其反馈给前端. 3.Model,主要负责数据实体的结构处理,与ViewModel进行交互. 其实我个人认为,数据和业务交互这一层还是应该另外独立,Model中完全就是实体模型,这样更清晰. [安装Prism模板框架]建…
Are you running your application or Visual Studio that hosts the app under administrative privilege? If that's the case, the Windows prevents the drag drop operation from happening. In Windows 7 or Vista, an application with a lower security privileg…
下载开发模板:下载 AYUI 6月29日起,免费使用,无需授权,去除所有限制,关爱开发者,不求捐赠,只要你们能私活挣到钱就行,你们没有欠我的.我希望所有人都能开发WPF的东西 使用教程,上面的下载文件都有. 版本时间:2016-6-29 13:08:40版本 4.1.1使用服务:免费使用,商业免费,源码需购买当前版本AYUI开发周期:2015年1月5日- 2016年6月29日 找到你的VS版本,然后打开Documents文件夹地方,例如我的是VS2013VS2013安装项目时候,默认文档都存在这…
介绍 WPF中有两种控件:UserControl和CustomControl,但是这两者有什么区别呢?这篇博客中将介绍两者之间的区别,这样可以在项目中合理的使用它们. UserControl 将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组: 由XAML和Code Behind代码组成: 不支持样式/模板重写: 继承自UserControl: 下面创建的一个RGBControl由3个TextBlock,3个TextBox,1个Rectangl…
在WPF或者UWP应用开发中,有时候会不可避免的需要操作文件系统(创建文件/目录),这时候有几个坑是需要大家注意下的. 创建文件或目录时的非法字符检测 在Windows系统中,我们创建文件时会注意到,某些特殊字符是不可以用作文件名输入的. 那么,同样的,如果你的应用可以提供给用户创建文件/目录的功能,要特别注意的是:你必须对用户键入的文件或者目录名检测,避免用户键入非法字符. 否则,应用可能会遇到下面这个bug:System.IO.FileNotFoundException:"文件名.目录名或卷…
如果只是使用现有的WPF控件的话,是很难满足当前社会多复杂的业务.所以用户自己订制一系列控件也是一种不可避免的情势.WPF在控制方面分为俩种:用户控件和自定义控件.相信看过前面章节的就明白他们俩者之间的差别.理解用户控件并不难--把现有的控件组合在一起形成的控件.而在笔者看来自定义控件才是WPF最吸引人的地方. 关于用户控件的话,往往就是一个xaml文件,也可以是一个DLL文件.但是自定义控件往往都是一个DLL文件.引用这个DLL文件时候,应用会去加载dll文件里面的Theme文件夹下的Gene…
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中的实现(三)命令绑定 MVVM模式解析和在WPF中的实现(四)事件绑定 MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信 MVVM模式解析和在WPF中的实现(六)用依赖注入的方式配置ViewModel并注册消息 0x00 写在前面的废话 我大概是从2012年底开始接…
本文接上文<WPF老矣,尚能饭否——且说说WPF今生未来(上):担心>继续. “上篇”中部分精彩的点评: 虽然WPF不再更新了,但是基于WPF的技术还是在发展着,就比如现在的WinRT,只不过API换了一套而已,xaml还是xaml,数据绑定还是数据绑定,依赖属性还是依赖属性,模板还是模板.其实学过WPF的转WinRT还是比较爽的,Blend的操作也没变,只不过现在WinRT的人才需求量的确有点坑. 最后感谢WPF给我们带来MVVM这种开发方式.开发模型.   by @h82258652 虽然…
在前面的上.中篇中,我们已经可以看到园子里朋友的点评“后山见! WPF就比winform好! 激情对决”.看到大家热情洋溢的点评,做技术的我也很受感动.老实说,如何在本文收笔--WPF系列文章,我很紧张:我希望大家阅读完本系列文章后:各取所取.尽兴而归. 坦白的说,葡萄城作为一家专注.NET技术的公司(仅海外分公司之一的西安葡萄城已经成立26年),我们几乎走遍了微软的技术路线,无论从技术前瞻性.或是技术深度均有涉猎. 我们做控件的,也是非常想知道WPF未来走势如何. 但抱歉的是,我无法预测未来W…
本文转自:http://knightswarrior.blog.51cto.com/1792698/365351 一. 摘要 首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows Azure,所以暂缓了更新,同时也本着想把它写好.宁缺毋滥的精神,在速度上自然也就慢了下来,这篇文章拖拖拉拉也经历了十多天才发布出来(每天写一 点),不过请大家放心,这个系列一定会继续写下去.由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里 发表出来…
敬告读者:因为是事件驱动模式的高速学习,高速学习意味着,不系统,不科学,不合逻辑,不一定正确.所以要是有不对的地方,页面下面留言给我,跪谢! 背景介绍: 最近在公司的开发工作中,接手了从别的公司交代过来的代码巨怪,其中主要的技术有 WPF,控制反转框架Spring.net,SqlMap(有点像是ibatis.net),Remoting,作业调度框架Quarz,我们的工作,是把这只怪兽,敲碎,重组并且优化,目标暂时是重构成WebAPI底层和WPF界面两个部分,下面是我学习WPF的过程中,留下的一些…
介绍 当2006年微软首次推出Windows Presentation Foundation(WPF)时,它代表了应用程序的设计和开发又向前跨出了巨大的一步.它简化了GUI应用程序的开发,有助于UI和业务逻辑的分离,并且提供了统一的编程模型.语言和框架.真正做到了将界面设计人员与开发人员的工作分离:同时WPF提供了全新的多媒体交互用户图形界面. 自从2006年WPF作为.NET Framework 3.0的一部分发布以来,有四个主要的修订版本.第一个是2007年发布的.NET 3.5,2008年…
开发WPF应用程序,就不得不提MVVM.下面偶将展示MVVM中简单的实现,其中主要在于ICommand的实现上,不过这种实现方式,应该不会有多少人在开发中使用,在此仅作学习使用. 准备: 界面绘制,简单的以一个输入框TextBox和一个按钮Button组成.   入手 接下来写ViewModel,注意其中ViewModel需要继承接口INotifyPropertyChanged,其主要功能是保证后台属性改变能够通知到前台改变. class TestViewModel : INotifyPrope…
WPF Step By Step 系列 - 开篇 公司最近要去我去整理出一个完整的WPF培训的教程,我刚好将自己学习WPF的过程和经验总结整理成笔记的方式来讲述,这里就不按照书上面的东西来说了,书本上一般都是按部就班,深入浅出.我这里主要是以实战和具体的代码为准来讲述. 目前使用WPF的时间不算长,大概有2年多,比园子里很多的大师,还是会差很多.现在才刚刚算是对WPF基本的应用时掌握了,但是距离UI设计方面,还是有很大的欠缺.由于本人不太擅长美感的东西. WPF参考书推荐 下面先整理下,本人主要…
在开发wpf项目时,需要调用外部com组件,同时需要制作透明窗口,于是问题出现了,当我们在设置 AllowsTransparency="True"后,com组件显示不出来了,只有透明属性为false才能正常显示,此时找到了http://blog.csdn.net/detecyang/article/details/7946237这篇博客,他提供了很好的解决方案,当我使用后问题出现了,他提供的类在vs2008的.net3.5环境运行一切正常,但放到vs2012我的开发环境中,运行就会报错…
一个2012年南航毕业学软件的学生,该如何去选择我的职业方向? 2011年11分月份,我被老师介绍在南京珠江路华丽国际大厦工作,开发一个大型国际物流平台,公司的开发人员比较少,设计网站的是高校的老师,我们就按照设计的做.平台主要用的技术是C# ASP.NET WEB,javascript,jquery,div+CSS ,sql server数据库等技术,前台后台都做,在这个过程中前台后台都学了不少,前台页面布局,后台数据处理等等,到了2012年5月份,因为学业的原因,我离开了这个公司. 珠江路这…
在.net开发客户端的时候,一定会遇到用户没有安装.net环境的问题,特别是现在win7,win8,win10多系统并用的时间段,很多开发者使用的是4.5的目标环境,用户却是使用win7的系统,这样势必会要安装环境包 可是如果win7的用户已经安装4.5的环境呢?那么用户是否需要连带着环境包一起下载呢? 我们前几天也遇见了这种困境,如果加上环境,安装包的体积太大,本身软件才几m,环境竟然高达70M,完全不合理嘛. 后来想到了一个折中的办法, 我们可以在项目中添加一个新的工程名为[PreLoad]…
练习开发WPF程序的时候,是这样写的,虽然很简单,相必很多新手会用到,所以拿来共享一下, using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; using System.Data; namespace HRMSys.DAL { static class SqlHelp…
转 http://blog.csdn.net/thunder09/article/details/5792157 WPF就是所谓下一代Windows界面层技术,我觉得还有满有前途的.不过Vista发布以来,用户认可度目前确实不高(2009年).只支持win7和vista. WCF,你就先把它想成Web Service的下一代也没什么问题. WPF用过,就算是winform的下一代吧,绘图的话可以实现GDI+一些达不到的效果,国内的书籍资料很少,也就三四本(2009年). WCF(Windows…
原文 WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性 如果您在使用WPF/Silverlight进行相关动画开发中使用了Storyboard,并对关联属性进行了动画修改,那么您是否有注意到这些关联属性常常无法再通过直接赋值的形式去修改,尽管它的值已经被更改,但却始终无法在界面上得以体现.例如,在我的C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)教程里大量运用了Storyboard对角色的X,Y坐标关联属性以及角色…