当前位置: 首页 > news >正文

XAML开发入门之创建XAML应用程序

现在通过一个完整的步骤来创建并生成上述的WPF程序,以便你可以快速地进入学习XAML的历程。

  1、首先我们在创建一个目录, 在这里D盘上创建了一个FirstDemo文件夹,而后通过"开始"-"所有程序"-"附件"-"记事本"打开记事本程序,并将程序代码2-1输入到记事 本中。使用"文件"-"保存"命令将该文件保存到FirstDemo文件夹中,在弹出的"另存为"对话框,我们将保存类型设置为"所有文件",并在文件名 处填上"MyApp.xaml"。如下图所示

3885xk97r448.jpg

   2、再在记事本中分别创建和保存Page1.xaml页面,其实现的方式和MyApp.xaml相同。现在我们要创建一个工程文件,由于本章中的所有示 例都是采用C#进行代码逻辑的编写,所以我们创建的工程名称为"firstdemo.csproj"。创建上述的3个文件后,FirstDemo文件夹中 的内容如下图所示。

vxgtg8wq7xtu.jpg

   3、现在我们要使用MSBuild将这些文件生成一个WPF程序,为此,我们可以通过"开始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打开MSBuild控制台窗口,默认状态我们所处目录是Windows SDK的安装路径。如果要使用MSBuild来执行firstdemo.csproj文件,我们必须转到"D:\FirstDemo"路径中,为此,我们 可以在光标处输入"CD \"返回到D盘根目录,而后再通过"CD FirstDemo"命令进入"D:\FirstDemo"路径。具体的实现图如下

c5vhj37eh1n7.jpg

  4、通过"DIR"命令可以查看当前目录中的各个文件,如图所示

3fl556tajfxn.jpg

  5、现在我们就可以通过msbuild命令来执行firstdemo.csproj文件,直接在光标处输入"msbuild firstdemo.csproj"命令。生成成功后的显示如下:

olot1y44z5h0.jpg

  6、打开FirstDemo文件夹,可以看到其包含的文件方式了一些改变,我们可以直接双击MyFirstApplication.exe来运行这个生成后的WPF程序。

  7、该WPF程序最终的呈现效果如下图所示,

ump0274f5u5k.jpg

   和XAML的呈现效果比较,发现它们是不是和一样呢?在上图我们可以看到窗体的上方有两个类似浏览器"前进"和"后退"的按钮,这表明该WPF是一个宿 主于浏览器的呈现。如果你将Pgae1.xaml的根元素Page改为Window,执行生成该程序,你将发现最后不再是在浏览器中进行呈现。其效果如下 所示:

x0z321q2u2jp.jpg

  也就是说我们可以在一个XAML文件中设置其根元素,如果为Page,表示它将宿主于浏览器。若为Window的话,则是和传统的桌面程序那样直接进行呈现。
  现在通过一个完整的步骤来创建并生成上述的WPF程序,以便你可以快速地进入学习XAML的历程。

  1、首先我们在创建一个目录, 在这里D盘上创建了一个FirstDemo文件夹,而后通过"开始"-"所有程序"-"附件"-"记事本"打开记事本程序,并将程序代码2-1输入到记事 本中。使用"文件"-"保存"命令将该文件保存到FirstDemo文件夹中,在弹出的"另存为"对话框,我们将保存类型设置为"所有文件",并在文件名 处填上"MyApp.xaml"。如下图所示

3885xk97r448.jpg

   2、再在记事本中分别创建和保存Page1.xaml页面,其实现的方式和MyApp.xaml相同。现在我们要创建一个工程文件,由于本章中的所有示 例都是采用C#进行代码逻辑的编写,所以我们创建的工程名称为"firstdemo.csproj"。创建上述的3个文件后,FirstDemo文件夹中 的内容如下图所示。

vxgtg8wq7xtu.jpg

   3、现在我们要使用MSBuild将这些文件生成一个WPF程序,为此,我们可以通过"开始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打开MSBuild控制台窗口,默认状态我们所处目录是Windows SDK的安装路径。如果要使用MSBuild来执行firstdemo.csproj文件,我们必须转到"D:\FirstDemo"路径中,为此,我们 可以在光标处输入"CD \"返回到D盘根目录,而后再通过"CD FirstDemo"命令进入"D:\FirstDemo"路径。具体的实现图如下

c5vhj37eh1n7.jpg

  4、通过"DIR"命令可以查看当前目录中的各个文件,如图所示

3fl556tajfxn.jpg

  5、现在我们就可以通过msbuild命令来执行firstdemo.csproj文件,直接在光标处输入"msbuild firstdemo.csproj"命令。生成成功后的显示如下:

olot1y44z5h0.jpg

  6、打开FirstDemo文件夹,可以看到其包含的文件方式了一些改变,我们可以直接双击MyFirstApplication.exe来运行这个生成后的WPF程序。

  7、该WPF程序最终的呈现效果如下图所示,

ump0274f5u5k.jpg

   和XAML的呈现效果比较,发现它们是不是和一样呢?在上图我们可以看到窗体的上方有两个类似浏览器"前进"和"后退"的按钮,这表明该WPF是一个宿 主于浏览器的呈现。如果你将Pgae1.xaml的根元素Page改为Window,执行生成该程序,你将发现最后不再是在浏览器中进行呈现。其效果如下 所示:

x0z321q2u2jp.jpg

  也就是说我们可以在一个XAML文件中设置其根元素,如果为Page,表示它将宿主于浏览器。若为Window的话,则是和传统的桌面程序那样直接进行呈现。

相关文章:

  • 巧妙运用二进制验证权限
  • 网站部署成功...
  • 将SCOM2007代理升级到 System Center 2012 SP1
  • 一道有意思的问题
  • Ubuntu系统连接Android真机测试
  • 台湾校长高震东的演讲!
  • Node.js连接postgres
  • HFSoft.Data 2.0的Nunit测试用例
  • squid代理配置与应用
  • MDX函数使用介绍(四):字符串函数元组函数
  • magento中给form添加输入验证
  • Mediator 用一个中介者对象来封装一系列的对象交互。中介者使各个对象不需要显式的相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。...
  • 报表服务入门(实验7)手动添加报表
  • VSM应用2
  • 动态向下拉菜单添加内容
  • 【知识碎片】第三方登录弹窗效果
  • ECMAScript6(0):ES6简明参考手册
  • ECS应用管理最佳实践
  • java第三方包学习之lombok
  • KMP算法及优化
  • Python 基础起步 (十) 什么叫函数?
  • Vue官网教程学习过程中值得记录的一些事情
  • vue数据传递--我有特殊的实现技巧
  • webpack4 一点通
  • XForms - 更强大的Form
  • 从tcpdump抓包看TCP/IP协议
  • 服务器从安装到部署全过程(二)
  • 关于List、List?、ListObject的区别
  • 七牛云假注销小指南
  • 嵌入式文件系统
  • 悄悄地说一个bug
  • 试着探索高并发下的系统架构面貌
  • 详解NodeJs流之一
  • 小程序 setData 学问多
  • 用Python写一份独特的元宵节祝福
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • # centos7下FFmpeg环境部署记录
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • %@ page import=%的用法
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)LINQ之路
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .Mobi域名介绍
  • .net 7 上传文件踩坑
  • .NET 8.0 发布到 IIS
  • .netcore如何运行环境安装到Linux服务器
  • .pyc文件是什么?