前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对WPF的认识

对WPF的认识

作者头像
SAP梦心
发布于 2022-05-07 12:30:19
发布于 2022-05-07 12:30:19
4920
举报

随着对.NET学习的深入,慢慢认识到了WPF。这应该属于新事物,属于.NET 3.0里面的一个组件~它的出现相对于传统的GUI程序来说是大的变革。通过它,我们可以轻松感受软件的炫丽,震撼视觉效果和用户体验,因此我们可以对WinForm里自定义控件与GID+的组合开发带来的痛苦说拜拜。

开发WPF要用到全新的语言——XAML语言。XAML在WPF中的真正用途是界面描述,当然它也可以用来写代码。XAML将有效地把界面从代码中分离出来,使得程序员和设计师可以更好地合作,创造出更加优秀、漂亮的应用程序,这是以前人们无法想象的。虽然使用xml作为界面载体并不是什么新技术,但微软把它作为一个战略来推广自然将大大增加它的使用范围,通过微软的一系列开发工具,可以让初级程序员也可以基于这一架构开发出优秀的软件产品来,这就是微软开发工具的魅力。

可以想像现在有些桌面程序的开发人员除了写后台处理代码之外还要兼顾前端的UI界面设计,和现在的ASP网页模式一样,造成软件维护的不易,这也是传统的WinForm程序的弊端之一。现在好了,有了WPF,程序员只管写和代码有关的东西就可以了,UI层就交给美工设计人员去设计。和ASP.NET一样达到代码和设计相分离…

目前对WPF的认识还只是在入门阶段,就目前来说要学习它的时机还不是很成熟,当然,这只是对我个人来说,毕竟我的机器还够不上运行VS2008(注:VS2005也可以开发WPF,需要相应的安装程序包融合VS2005)。我所要做的就是赶紧赚钱,买台本本,然后装上VS2008,也许到那个时侯,WPF已经更加成熟了,教程和资料会更多,学习起来会有方向…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WPF E 文章汇总
MSDN "WPF/E" (codename) Dev Center : http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx 对网上的WPF/E 文章汇总,前一部分来自思归的WPF/E技术文章,每天整理一些资源. 1。WPF/E 起步 -- Getting Started with "WPF/E" (Code Name) http://msdn2.microsoft.com/en-us/library/bb190632.aspx 讨论了WPF
张善友
2018/01/26
8590
为什么现代的低代码开发平台都不支持导出源代码?
初次接触低代码的程序员大多会纠结一个问题,为什么功能越强大的低代码开发平台越不会提供导出源代码的功能?
葡萄城控件
2023/10/11
3480
为什么现代的低代码开发平台都不支持导出源代码?
都是基于.NET平台,WPF能取代Winform吗?
很多winform的学者时常在我的技术群咨询要不要学习WPF?我一贯的观点是必须学啊!如果是搞工控做cs软件开发,WPF自然是首选。
用户9127601
2022/03/23
3.3K0
都是基于.NET平台,WPF能取代Winform吗?
windowsform和wpf(winform和wpf我选哪个)
WPF开发于WinForm之后,从技术发展的角度,WPF比WinForm先进是不容置疑的。我觉得WPF相比于WinForm有下面的一些较好的特性: 解决Window Handle问题 在Windows GDI或WinForm开发中复杂的GUI应用程序,会使用的大量的控件,如Grid等。而每个控件或Grid cell都是一个小窗口,会使用一个Window handle,尽管控件厂商提供了很多优化办法,但还是会碰到Out of Memory或”Error Create Window handle”,而导致程序退出。 WPF彻底改变了控件显示的模式,控件不在使用窗口,也就不会占用Window handle。理论上,如果一个WPF只有一个主窗口的话,WPF只会使用一个Window handle(如果忽略用于Dispatcher的隐藏窗口的话)。所以WPF GUI程序不会出现Window handle不够用的情况。 多线程的处理 在WinForm程序开发时,最头疼的一个问题就是,worker线程修改控件的属性而导致程序崩溃,而且这种非法操作并不是每次都失败。WinForm控件提供了InvokeRequired属性来判断当前线程是不是控件创建线程。问题是当控件树很深是,这个属性会比较慢。 WPF开始设计的时候,就考虑到了多线程的问题。大部分的WPF类都继承于DispatcherObject。DispatcherObject实际就是对Dispatcher的一个简单封装。Dispatcher提供了类似InvokeRequired的方法(CheckAccess)。这个方法只是比较线程的ID,所以会很快。另外,Dispatcher提供了优先队列,异步调用,Timer等功能,简化了开发多线程GUI程序。 控件的Composition 在WinForm如果要实现一个有Checkbox的下拉菜单,将不得不处理复杂的Window消息。而通过WPF控件的Content Model和Layout系统,WPF控件可以包括任何类型的控件,甚至.Net CLR对象。很多现代的控件厂商也提供了Composition的控件,实现方法和WPF的Content模型也比较相似。WPF开发团队应该借鉴了Infragistics的很多想法。有了这个基础,开发新的WPF控件更加简单了。 XAML 个人觉得XAML应该是WPF中比较划时代的东东。通过XAML,我们可以用文本的方式描述复杂的Object Graph。这个想法在VB中就有了,不过XAML更简化,以便于使用工具来生成XAML。通过Command,Routing Event等机制,界面设计人员和程序员有比较清楚的界限。 Dependency Property 在WinForm开发中,经常碰到的问题就是一个控件的值变了,其他控件也会跟着改变。解决办法,要不是通过写代码,要不是通过数据绑定,前者是界面和代码没法分开,后者还不够灵活。而WPF在这方面通过XAML可以简单的把相关的属性联系起来,通过Extension可以实现复杂的绑定关系。 总的来说,我觉得WPF应该是GUI发展的一个延续,原来GUI中复杂的东西,现在通过简单的文本就可以实现。
全栈程序员站长
2022/07/28
1.4K0
ComponentOne使用技巧——从Winform穿越到WPF
WPF 和 Winform 是两个单独的平台,但二者又都是基于 .NET 4.0 以上版本开发的,所以很多.NET开发人员就开始研究如何在WPF中使用Winform。微软已经架设了两个开发平台的之间的通信桥梁,目前为止二者相互转换使用已经相当成熟了,今天主要给大家讲讲如何在这两个平台下调用 ComponentOne 的控件。
葡萄城控件
2018/11/06
1K0
WPF自学入门(一)WPF-XAML基本知识
1、XAML是派生自XML的可扩展应用程序标记语言(Extensible Application Markup Language)由微软创造应用在WPF,Silverlight等开发技术中。
黄昏前黎明后
2019/09/11
2.8K0
WPF自学入门(一)WPF-XAML基本知识
选择一款适合自己的ruby on rails IDE开发工具
用ROR框架做开发,基本上只要SciTE+资源管理器+命令行 就可以了,但如果您确实一时很难忘记IDE环境,而且机器配置又不咋地,建议您重返三剑客时代,找找当年DreamWeaver的感觉 :)  h
菩提树下的杨过
2018/01/22
1.7K0
选择一款适合自己的ruby on rails IDE开发工具
我一直很喜欢写程序,你呢?
我是1999年上大学的时候才接触计算机,那时候上网还叫“冲浪”。第一次去学校的机房,视觉、身心被震撼到,深信计算机的未来很美好,于是基本来放弃了本专业(电气工程及自动化),大部分时间都用在了计算机方面的学习,最初对计算机硬件及网络感兴趣,本来打算在盯着这个领域发展的,还因此去读了MCSE,CCNA。但是后来学了C语言,学了SQL,考了MCDBA,就发现还是喜欢编程,从硬变软了。 
崔文远TroyCui
2019/02/26
4890
winform和WPF的那点事~
  WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面
用户7053485
2020/03/12
4.6K0
Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studio 2015速递(3)——ASP.NET 新特性 对于IDE的争论这个话题,在开发部已经由来已久,甚至可以追溯到微软.NET技术发布之前,当时的主打产品是ActiveX控件,随着Borland Delphi的快速崛起,RAD势不可挡,迅速催生了很多经典的IDE,微软旗下最有名气的就是VC和VB了;此后.N
葡萄城控件
2018/01/10
7950
Visual Studio 2015速递(1)——C#6.0新特性怎么用
《深入浅出WPF》——模板学习
图形用户界面(GUI,Graphic User Interface)应用较之控制台界面(CUI,Command User Interface)应用程序最大的好处就是界面友好、数据显示直观。CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本、列表、图形等多种形式立体显示。 用户体验在GUI程序设计中起着举足轻重的作用——用户界面设计成什么样子看上去才够漂亮?控件如何安排才简单易用并且少犯错误?(控件并不是越复杂越好)这些都是设计师需要考虑的问题。WPF系统不但支持传统Windows Forms(简称WinForm)编程的用户界面和用户体验设计,更支持使用专门的设计工具Microsoft Expression Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念(这是2010年左右的书,在那时是新理念,放现在较传统.NET开发也还行,不属于落后的技术)。 本章我们就一同来领略WPF强大的模板功能的风采。
全栈程序员站长
2022/09/09
5.2K0
《深入浅出WPF》——模板学习
mfc wpf winform(工业用mfc还是qt)
编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了,听说读写.而使用相同语言的人大脑里都有个翻译器,可以把自己的想法翻译成语言然后用说或写表达出来,而听和读则把接收来的语言翻译成自己大脑能理解的思想.
全栈程序员站长
2022/07/28
2.4K0
认识WPF
WPF是 Windows Presentation Foundation 的英文缩写,意为“窗体呈现基础”,是微软基于.NET Framework 3.0 推出的新一代构建窗体程序的框架。不同于WinForm,WPF实现了界面和开发分离,它的界面是由Xaml语言构建的,这种形式对前端开发人员非常友好,使初步进入WPF页面开发的前端开发人员可以很轻松的上手并开发出绚丽的界面(并且还有一个UI编辑利器:VS Blend来辅助界面的开发)。另外,WPF还具有强大的图形绘制功能,以及自带MVVM框架,有关MVVM相关的知识点会在后续的文章中发布。
宿春磊Charles
2021/11/05
1.2K0
【愚公系列】2023年09月 WPF控件专题 XAML介绍
WPF(Windows Presentation Foundation)是微软推出的一种基于.net框架的图形用户界面技术,它使用XAML(eXtensible Application Markup Language)作为UI的描述语言。XAML是一种基于XML的标记语言,用于描述WPF应用程序的用户界面、控件、布局、样式和数据绑定。XAML可以将UI元素和代码分离,使得设计人员和开发人员能够分别负责UI和逻辑的开发,从而提高开发效率。
愚公搬代码
2023/09/16
5040
【愚公系列】2022年10月 WPF控件专题XAML介绍
XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码和配置等。
愚公搬代码
2022/12/01
3770
.NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2
WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
张传宁IT讲堂
2021/08/18
2.6K0
.NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2
Windows桌面程序开发
最近在做Windows桌面程序开发,最初考虑到团队的技术构成(没有.NET开发),决定用Electron作为解决方案来开发,但是最后因为需要实现应用向其它未处于激活状态的应用发消息的功能无法通过自带的api实现(需要借助node-ffi调用dll解决),所以就对各个方案做对比做最后的决策(其实还是在纠结用C#.net还是Electron,其它的方案并不考虑)。
码客说
2019/10/21
11.1K0
微软程序员最好的时代来了
微软程序员最好的时代来了 每过一段时间就有人跳出来说微软不行了,.NET不行了,然后就去舔Java, 但是一直让我觉得比较奇怪的是,几年以后那些人还在用.NET,而且继续喷着.NET, 舔着JAVA, 在我看来,这些人和那些天天喷自己的公司,却依然在那个公司,天天喷中国,却依然在中国的那些人是一样的。 语言只是工具 因为我不是非常熟习JAVA, 所以我不知道JAVA擅长做什么,但是我觉得.NET能做的事,基本上JAVA应该都能做,就像我认为JAVA能做的事.NET基本也都能做一样。但是奇怪的是我经常看到的是
用户1289394
2018/02/27
1.4K0
Web开发感悟:数据绑定是一种技术,更是一门艺术
1、前言 作为一个多年从事b/s开发的程序猿,曾先后使用过asp、asp.net做为主要服务端语言。不管是相对低级的asp也好,还是高级的asp.net也罢,都100%会遇到"数据绑定"问题。 2、什么是“绑定”? 广义来讲,如果服务端的数据需要在页面上呈现,并且这份数据需要与整个页面(或页面的某个部分)建立关联(不管是单向关联还是双向关联),这就是数据绑定。 3、“赋值”是个好办法 在asp年代,压根儿就没有控件这一说,所以服务端的数据呈现,基本上就是通过在页面中内嵌<%=xxx%>来实现的(xxx可理解
菩提树下的杨过
2018/01/23
1.5K0
UWP 和 WPF 对比
本文告诉大家 UWP 和 WPF 的不同。 如果在遇到技术选择或者想和小伙伴吹的时候可以让他以为自己很厉害,那么请继续看。
林德熙
2018/09/18
14.9K2
相关推荐
WPF E 文章汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档