文档章节

Windows App开发之开发准备

NoMasp
 NoMasp
发布于 2015/09/08 21:46
字数 1794
阅读 14
收藏 1

操作系统及SDK

操作系统

显而易见,想要开发Windows App就得在Windows 8/8.1/10上进行,老旧的Windows XP/Vista/7已经不能满足时代的需要了。当然,在Windows App的发展过程中,其本身也有着较大的变动,为了使用新的特性,建议使用Windows 10。我在写这个教程时,Windows 10正式版并未面世,因此暂时未介绍Windows 10上的新特性,随后会继续更新,欢迎您的继续关注。

操作系统除了在官网下载之外,还可以在DreamSpark等地方下载。DreamSpark上除了Office其他微软操作系统、开发工具及其他软件对学生均免费开放。

Visual Studio

Visual Studio系列作为地球上最强大的IDE,学习Windows App开发自然也是少不了的。

另外由于这个博客系列主要方向是Windows App(以往称为Universal Windows App,简称UWA),所以我用的SDK依然是预览版——Visual Studio 2015 Preview [CTP 6]

安装疑难

安装Visual Studio 2013/2015 出现蓝屏时,将网卡驱动卸载掉重新安装即可,这种情况尤其出现在Visual Studio 2013早先版本以及用校园电信网的情况下。

大家如果遇到什么问题,找到或未找到解决方案时都可以邮件给我,我将更新到此处。我的邮箱是nomasp@outlook.com。

Windows App简介

C#

C#是微软主推的编程语言,也是Windows App最合适的开发语言,因此本教程统一用C#来讲解。

开发Windows App,可以用Windows XAML(C#、C++和VB)、WinJS(HTML+JavaScript)、DirectX(C++)等组合。而Silverlight(C#和VB)是WP所独有的,Silverlight已经基本被淘汰,建议大家用C#+XAML来进行开发,在游戏开发和图像处理方面,C++则更有优势。

XAML

Extensible Application Markup Language(简称XAML,发音为Zamel)是WPF的一部分,其语法类似于HTML,它们都是“标记语言”。我是先学的XAML后学的HTML,一开始还很喜欢这种语言——它没有一大堆的“;”。XAML本质上属于一种.NET编程语言,属于公共语言运行时(Common Language Runtime,简称CLR)。

看到很多的教程等上都在一开始便讲解了xmlns等命名空间,我觉得这样不太合适,毕竟现在根本用不到,因此也记不住,等到需要的时候自然会印象深刻。

通用应用

其实我觉得“通用应用“这个名字显然更加合适,更加侧重”通用“的特点。其能够在所有的Windows平台上运行,不仅仅是PC、平板、手机,甚至还有Xbox。能够在多个平台共享大部分的代码,使其能够一次开发,在多平台运行。

虽然跨平台大家都在做,但通用应用这个概念我还是挺看好的。此前一直有Windows 10要兼容安卓应用的传闻,在微软2015 Build大会上,微软宣布的则是通过将安卓应用极为方便快速地移植到Windows平台,虽然这样一来由于应用设计风格的巨大差异会特色渐消。此外Windows 10的免费升级计划是否能通过桌面版带动移动版的发展,让我们拭目以待吧。

动手创建第一个应用

新建工程

这里写图片描述

如果不是装的固态那么安装的过程会是非常漫长的,请大家耐心等待。装好之后就可以开工啦。

Ctrl+Shift+N直接呼出新建项目窗口。

这里写图片描述

新建完成后再解决方案管理器中会是如下界面:

这里写图片描述

如果没有显示出解决方案管理器,可以按Ctrl+W,S。或者也可以在最上面的工具栏中点击视图(View)。在Solution ‘WindowsApp1’上右键可以继续再创建第二个项目。

如图中所示,共有3个部分:
1)WindowsApp1.Windows (Windows 8.1)
2)WindowsApp1.WindowsPhone (Windows Phone 8.1)
显然这两个分别是Windows应用中的Windows 8.1 和Windows Phone 8.1部分。其下又有:
Properties:应用相关的一些版本号等。
References:引用,主要是用来引用第三方的东东,比如广告啦。
Assets:可以将App所用到的素材资源等放在这个文件夹中。
MainPage.xaml:XAML代码就是在这里写的哦,C#代码需要在点击MainPage.xaml左边的三角形后出现的MainPage.xaml.cs文件中写。
Package.appxmanifest:应用包的一些清单,后面用到的时候再细讲啦。
剩下一个就是相关的证书了。
3)WindowsApp1.Shared
这个就是Windows App(通用应用)的精髓啦,比如可以把类、资源文件等放在这里啦。

调试程序

这里写图片描述

在这里可以设置调试Windows 8.1应用还是Windows Phone 8.1应用。

设置启动项

这里写图片描述

在这里可以选择在本机调试或者虚拟机中调试。

动手操作

在MainPage.xaml中写下以下代码:


<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock Name="tblock" Text="" FontSize="50" Foreground="Red"  Margin="173,78,940,498"/>    
    <Button Name="btn" Content="显示名字" Click="btn_Click" Width="155" FontSize="25" Height="90" Margin="170,286,0,392"/>  
</Grid>

只用到了两个TextBlock和Button两个控件,其中的属性:
Name:控件的名字
Text:TextBlock控件显示的文本
FontSize:字体
Width和Height:宽和高
Margin:边距,具体用法在后面的博客中会有介绍
Content:内容,此时会显示在Button控件上
Foreground:字体颜色

还有一个事件:
Click:点击事件

用鼠标双击btn_Click后按F12可以快速在C#文件中生成相应的函数。

这里写图片描述

然后本地计算机或虚拟机上调试就可以啦。

这里写图片描述

Visual Studio使用小技巧

行号

我看到蛮多童鞋的VS都没有开启行号,而能够看到自己写了多少行代码,无疑会让自己更加有成就感。

点击工具栏上的”工具(Tools)“,然后再点击”选项(Options)“,点开”文本编辑器(Text Editor)“,选择”所有语言(All Language)”,勾上行号即可。

快捷键

自动对齐:Ctrl+K,Ctrl+F
注释代码:Ctrl+E,Ctrl+C
(或:Ctrl+K,Ctrl+C)
清除代码注释:Ctrl+E,Ctrl+U
(或:Ctrl+K,Ctrl+U)

视图

1)学习开发时,视图中的“对象浏览器”是非常有用的。
2)可以将工具箱中的控件直接拉入MainPage.xaml的设计器中。这也就是传说中的“所见即所得”。
3)属性,点击一个空间后点击属性视图,可以设置其的属性和事件。

这里写图片描述

设计器

将鼠标指针放到设计器中,按住Ctrl键,然后用鼠标滚轮滑动即可放大或缩小中的视图。

鼠标滚轮前后滚动时,设计器中的窗口会上下移动,如果按住Shift则会左右移动。

同样也是将鼠标指针放到设计器中,安装Space(也就是空格)键,指针会变成一个小手,这时可以移动设计器。

大家若有更多建议,欢迎邮件我。

版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.csdn.net/nomasp

本文转载自:http://blog.csdn.net/nomasp/article/details/46922103

NoMasp
粉丝 7
博文 334
码字总数 0
作品 0
镇江
程序员
私信 提问
加载中

评论(1)

Windows10 手机应用程序开发 - 1.安装VS2015 启动Win10 Mobile模拟器

最近公司同事在讨论微软这次对Win10的大力推进,耳濡目染之下。心血来潮,也想试试win10开发到底是什么滋味。 上去拉勾看了下WinPhone 开发的需求和薪酬,也是醉了,就算是初级的Android开发...

神补刀
2016/01/16
2.7K
0
统一的音乐服务,消除版权壁垒--Project Israfil

Israfil |关于|当前进度|开发日志|下载软件|编译|参与项目|编译状态|版权|协议| LER0ever Project Israfil Provide Unified Music Service for users in China. 尽可能解决因为独家版权导致听...

LER0ever
2016/06/14
772
0
windows下开发并编译PHP扩展(步骤说明)

开发PHP扩展对于普通程序员来讲可能一直是一件很神秘的工作,其实,只要你对C语言熟悉,了解了开发PHP扩展的步骤和规则,开发PHP扩展也是一件很普通的工作。 现在就简单说一在WINDOWS下开发P...

mac_zhao
2011/04/19
257
0
微软使用 Android 端 Cortana 通知同步功能鼓励开发者创建 UWP 应用

近年来,微软一直推进Cortana在Android和iOS竞争对手平台的发展,不断修复BUG和增加功能。在最新上线的Windows 10系统中新增了通知同步功能,能够在Windows 10 Action Centre中接收和交互And...

oschina
2016/06/11
1K
5
Xamarin学习(一)---- 环境准备

前言: 摸索学习Xamarin的应用,以此博客跟进学习进度。 介绍: Xamarin 提供了用于移动设备、平板电脑和桌面应用程序的跨平台开发解决方案。Xamarin 产品依赖于 Apple 和 Google 中的平台 ...

梦要够疯
07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
801
11
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
15
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部