C#入门分享(九)——WPF开发

WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。WPF可以更方便的开发更漂亮的界面,并且可以比以前更好地将GUI设计和程序逻辑分离开来,使得有条件的公司可以专门培养平面设计人员进行GUI设计(有点类似于与网页美工),而程序员更加关注业务逻辑。

下面让我们通过具体的操作和代码来了解WPF的开发。

打开Visual Studio(我的版本是VS2013 Ultimate)创建一个WPF工程,工程名为WpfApplication1。这个工程新建好了以后,就创建了一个窗口应用程序。现在只有一个窗口,窗口标题为默认的Window1。下面是运行的结果:

理解XAML

      XAML全称为Extensible Application Markup Language 。XAML可以用来编写WPF,但是也可以做很多其他的事情。每个WPF程序都有一个Application对象,该对象代表了整个应用程序,它总是有一个static Main方法。如何编写一个Application类有多种方法,App.xaml内容如下:

Application元素的x:Class属性的值为WpfApplication1名字空间里面的类App。该类的定义如下:

我们并不需要写static Main方法,编译器替我们生成了。 App.xaml中的Application元素还有一个属性StartupUri指定了应用程序开始运行时显示的第一个窗口MainWindow。MainWindow.xaml文件内容如下:

MainWindow继承了System.Windows.Window类。InitializeComponent()方法的主要作用是读取MainWindow.xaml文件中指定的Window元素的属性值。

添加两个控件,并理解事件处理机制

现在添加一个文本控件和一个按钮,当按钮点击后,文本控件的内容将被修改。通过Toolbox拖拽TextBox和Button到MainWindow窗口上。现在的MainWindow.xaml文件内容变成:

效果如下:

双击 TextBox和Button,Visual Studio就会在自动在MainWindow.xaml.cs中生成对应控件的处理时间方法:

这里仍然使用委托机制来实现事件回调。sender就代表事件源,这里其实就是MainWindow对象自己。RoutedEvnetArgs e可以让我们获得事件的相关信息。我们定义TextBox的name为TextBox1,然后在Button_Click()函数里添加:

TextBox1.Text = "欢迎来到WPF";

这样点击按钮后就会弹出一个消息框。
     到这里,一个麻雀虽小,但是五脏俱全的例子程序就完成了,点击按钮效果如下:

Toolbox里还有很多的控件,比如Grid,Image,TextBlock,ListView等,大家都可以一一尝试,这样学起来会更有效果。关于WPF的入门,这次就先简单介绍到这,以后有时间还会在博客中和大家深入探讨WPF。下一篇博客将为大家介绍Windows App的开发。

时间: 2024-10-09 01:42:29

C#入门分享(九)——WPF开发的相关文章

工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧

原文:工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)!> 看到很多朋友回复和支持,非常感谢,尤其是一些拍砖的喷油,感谢你们的批评,受益良多. 我第一份工作便是WPF的开发,一直到现在都非常喜欢这门技术,从懵懵懂懂到现在有一些WPF开发资历,也算是经历了一段坎坷的过程.我的朋友看到我写了VS2013的全攻略,他就推荐我写一个WPF篇,我想了下,的确很多朋友初接触WPF的时候难免会

分享影视软件开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

分享影视系统开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

分享影视APP开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

RabbitMQ入门教程(九):首部交换机Headers

原文:RabbitMQ入门教程(九):首部交换机Headers 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/78638988 分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 简介 首部交换机和扇形交换机都不需要路由键routingKey,交换机时通过Headers头部来将消息映射到队列的,有点像HTTP的

Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇

原文:Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇 本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结. 总共分三个部分: 基础篇主要争对C#初学者,巩固C#常用知识点: 中级篇主要争对WPF布局与美化,在减轻代码量的情况做出漂亮的应用: 终极篇为框架应用实战,包含MVVM框架Prism,ORM框架EntityFramework Core,开源数据库Postgr

ASP.NET 5 入门(1) - 建立和开发ASP.NET 5 项目

ASP.NET入门(1) - 建立和开发ASP.NET 5 项目 建立项目 首先,目前只有VS 2015支持开发最新的ASP.NET 5 程序,所以我们首先需要下载安装其最新的RC版本. https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx 安装完毕以后,打开并建立新的Web Application项目: 然后在后一个界面中选择ASP.NET 5 Empty模板: 这里提2个注意点: 要

下载Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)

ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookeeper的Fast Fail 和 Leader选举特性大大增强了分布式集群的稳定和健壮性,并且解决了Master/Slave模式的单点故障重大隐患,这是越来越多的分布式产品如HBase.Storm(流计算).S4(流计算)等强依赖Zookeeper的原因. Zookeeper从入门到精通(开发详解,案

AppleWatch开发入门一——Watch的开发思路与应用框架

AppleWatch开发入门一--Watch的开发思路与应用框架 一.引言 Apple Watch无疑是apple在智能手表领域的一次革命,如何在Watch上开发出实用且具有美感的应用,是iOS开发者们开始思考的一个问题,由于watch的随身性和快捷性,在某些方面,它有比iphone更加大的优势,要抓住watch的这些特点,开发出淋漓尽致的应用,就需要改变一些在iphone开发的思路,正如一句话:只有忘掉经验,才会有意想不到的突破. 这一系列博客,首先是总结我在公司watch项目开发中的一些经验

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式 任何语言里面,Int.float.double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法.总结下来一共有三种转换模式,分别举例说明. 一.String转数字 这里以String类型转Int类型为例.String转其他的数字类型(Float.Double等)大同小异.主要用到的方法是String类型的toInt方法.注意这个方法返回的是Int?,即一个整数可选类型.所以需要解封. var string = "1234"