XAML开发入门之创建XAML应用程序
MSBuild是Vista和Visual Studio 2005中一项新的特性,伴随着Visual Studio 2005的发布,就标志着微软已经迁移到新一代的统一生成平台。现在所有的项目都可以很轻松地通过MSBuild生成.NET程序集。更加激动人心和有益 的是,在编译和生成一个应用程序时,并不需要Visual Studio 2005作为必需的支持,我们完全可以采用MSBuild生成应用程序。如果你安装了Windows SDK的话,MSBuild也会发布到你的计算机中。
提示: 如果使用Visual Studio 2005创建一个XAML应用程序的话,那么你完全不用理会MSBuild生成应用程序的具体细节。Visual Studio 2005将会自动地为该XAML程序创建一个项目文件, 而后MSBuild将按照这个项目文件指定的方式进行工作。
提示: 可以通过"开始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打开MSBuild控制台窗口。你可以在命令提示符中输入"msbuild /help"查看所有与MSBuild相关的命令。
MSBuild会读取一个基于XML的、扩展名为.csproj或vbcsproj的项目文件,并按照该项目文件指定的方式,生成相应的可执行程序。在 项目文件中包含一系列的XML元素,我们在这里只介绍一些重要的XML元素和它们的对应设置。各个XML元素的描述如下:
Project 所有的项目文件都必需的根元素
PropertyGroup 包含一些项目属性的设置,例如我们在生成一个项目时是采用Debug方式还是Release方式。
ItemGroup 包含一系列的项目,用来指定组成该项目的代码文件或资源文件。
Import 允许你导入其它的一些项目文件,例如将一些目标文件导入到某项目文件中
我们可以有很多方式为MSBuild配置对应的项目文件,当然最便捷的方法就是直接使用Visual Studio 2005,它会自动地生成相应的项目文件。下面是一个最简单的项目文件示例,其代码如下:
01 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
02 <PropertyGroup>
03 <AssemblyName>MyFirstApplication</AssemblyName>
04 <TargetType>winexe</TargetType>
05 <Configuration>Release</Configuration>
06 <OutputPath>.\</OutputPath>
07 </PropertyGroup>
08 <ItemGroup>
09 <Reference Include="System" />
10 <Reference Include="WindowsBase" />
11 <Reference Include="PresentationCore" />
12 <Reference Include="PresentationFramework" />
13 </ItemGroup>
14 <ItemGroup>
15 <ApplicationDefinition Include="MyApp.xaml" />
16 <Page Include="Page1.xaml" />
17 </ItemGroup>
18 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
19 <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />
20 </Project>
对一个C#的项目来说,标准的Import语句如下:
01 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 02 <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" /> |
而对一个VB.NET项目来说,标准的Import语句如下:
01 <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> 02 <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" /> |
现在通过一个完整的步骤来创建并生成上述的WPF程序,以便你可以快速地进入学习XAML的历程。
1、首先我们在创建一个目录,在这里D盘上创建了一个FirstDemo文件夹,而后通过"开始"-"所有程序"-"附件"-"记事本"打开记事本程 序,并将程序代码2-1输入到记事本中。使用"文件"-"保存"命令将该文件保存到FirstDemo文件夹中,在弹出的"另存为"对话框,我们将保存类 型设置为"所有文件",并在文件名处填上"MyApp.xaml"。如下图所示
|
2、再在记事本中分别创建和保存Page1.xaml页面,其实现的方式和MyApp.xaml相同。现在我们要创建一个工程文件,由于本章中的所有示 例都是采用C#进行代码逻辑的编写,所以我们创建的工程名称为"firstdemo.csproj"。创建上述的3个文件后,FirstDemo文件夹中 的内容如下图所示。
|
3、现在我们要使用MSBuild将这些文件生成一个WPF程序,为此,我们可以通过"开始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打开MSBuild控制台窗口,默认状态我们所处目录是Windows SDK的安装路径。如果要使用MSBuild来执行firstdemo.csproj文件,我们必须转到"D:\FirstDemo"路径中,为此,我们 可以在光标处输入"CD \"返回到D盘根目录,而后再通过"CD FirstDemo"命令进入"D:\FirstDemo"路径。具体的实现图如下
4、通过"DIR"命令可以查看当前目录中的各个文件,如图所示
|
5、现在我们就可以通过msbuild命令来执行firstdemo.csproj文件,直接在光标处输入"msbuild firstdemo.csproj"命令。生成成功后的显示如下:
|
6、打开FirstDemo文件夹,可以看到其包含的文件方式了一些改变,我们可以直接双击MyFirstApplication.exe来运行这个生成后的WPF程序。
7、该WPF程序最终的呈现效果如下图所示,
|
和XAML的呈现效果比较,发现它们是不是和一样呢?在上图我们可以看到窗体的上方有两个类似浏览器"前进"和"后退"的按钮,这表明该WPF是一个宿 主于浏览器的呈现。如果你将Pgae1.xaml的根元素Page改为Window,执行生成该程序,你将发现最后不再是在浏览器中进行呈现。其效果如下 所示:
|
也就是说我们可以在一个XAML文件中设置其根元素,如果为Page,表示它将宿主于浏览器。若为Window的话,则是和传统的桌面程序那样直接进行呈现。
XAML开发入门之创建XAML应用程序相关推荐
- WPF PRISM开发入门一( 初始化PRISM WPF程序)
原文:WPF PRISM开发入门一( 初始化PRISM WPF程序) 这篇博客将介绍在WPF项目中引入PRISM框架进行开发的一些基础知识.目前最新的PRISM的版本是Prism 6.1.0,可以在G ...
- 一、SpringMVC基础入门,创建一个HelloWorld程序
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- iOS开发入门——项目创建
iOS开发入门--项目创建 1.新建项目 2.项目模版 3.项目配置 配置好之后点下一步就好.... 4.确定存储位置 5.启动模拟器 这就是第一个空白项目的创建过程,后面将持续更新iOS开发学习经历 ...
- 移动设备应用程序开发入门一:创建用于设备的 Windows 窗体应用程序并打包进行部署...
目标:了解如何使用 Visual C# 创建一个简单的 Hello World 应用程序,该应用程序可在 Pocket PC 上运行. 了解如何为应用程序创建随后可部署到智能设备上的 .cab 文件. ...
- gradle创建web工程_Gradle入门:创建Web应用程序项目
gradle创建web工程 这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目. 更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并 ...
- Gradle入门:创建Web应用程序项目
这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目. 更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并在开发环境中运行我们的Web ...
- arm-linux 程序开发入门(QT窗口应用程序、编码、交叉编译、调试)(三机器和双机器搭建方法)(笔记)
Linux及Arm-Linux程序开发笔记(零基础入门篇) 文章目录 前言 一.Arm-Linux程序开发平台简要介绍 1.1程序开发所需系统及开发语言 1.2系统平台搭建方式 二.Linux开发平台 ...
- 「SpringBoot学习一」开发入门--快速创建springboot程序
前言 本片博客记录快速创建springboot工程的两种方式.一种是使用maven创建,一种是使用spring initializr创建.开发环境JDK1.8.IDEA.maven. SpringBo ...
- 【转】WPF PRISM开发入门一( 初始化PRISM WPF程序)
这篇博客将介绍在WPF项目中引入PRISM框架进行开发的一些基础知识.目前最新的PRISM的版本是Prism 6.1.0,可以在Github上获取PRISM的源码.这个系列的博客将选择PRISM 4. ...
最新文章
- linux c语言 int 数组初始化,c/c++ int数组初始化/重置为0
- linux shell概述,Linux学习 -- Shell基础 -- 概述
- professional asp.net 4 with c# and VB.net 阅读笔记
- python ctypes模块安装_ctypes模块扩展python
- 04_Nginx命令行参数,控制信号,Nginx启动、停止、重启命令
- java数据包解析_请教http请求数据包如何解析 重组
- 从开源爱好者到 Apache 董事,他花了 11 年
- windows10更新后网络无法连接的问题
- iOS集成支付宝H5支付实现跳转与回调的解决方案
- Java中变量的初始化以及变量的初始化顺序,已经加入个人的简单理解
- 本人对Oracle Bill Of Material模块的一些了解
- 安装NET Framework 错误代码0x800F081F怎么解决
- 基于高德api的地区全类poi爬取
- python爬不同图片分别保存在不同文件夹中
- 单工通信/半双工通信/全双工通信,串行传输/并行传输,同步传输/异步传输的区别
- 《孙子兵法》帮你玩转团队管理
- 《西西弗神话》笔记——不期待人生可以过得很顺利,但我希望碰到人生难关的时候,自己可以是它的对手
- 10条SKETCH的秘诀,为你提高工作的效率
- pythonapi是什么意思_python中api是什么
- 沪深300股票聚类可视化案例||tushare完整可运行代码逐行解释
热门文章
- 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No suitable driver found for xxxx 错误
- EOS智能合约开发系列(12): 多签合约代码分析(一)
- html如何设置radio单选按钮默认选中效果
- UDS诊断系列介绍13-31服务
- docker安装apollo
- IDEA安装docker插件
- 刚发布!新型病毒下,程序员可在家免费学习了!
- wr720n刷成网络打印_方便实用!教你如何简单把 usb打印机改成无线打印机!
- latex表格调整行距
- 监控摄像头清晰度(分辨率)介绍