Windows App开发之开发准备

操作系统及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(也就是空格)键,指针会变成一个小手,这时可以移动设计器。

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

时间: 2015-07-17

Windows App开发之开发准备的相关文章

Windows App开发之文件与数据

读取文件和文件夹名 这一节开始我们将陆续看到Windows App是怎样操作文件的. 在Windows上读取文件名.文件夹名 首先我们在XAML中定义一个Button和TextBlock,将读取文件/文件夹名的过程写在前者的click事件中,后者则用来显示文件信息. <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel Orientation="

【万里征程——Windows App开发】文件&amp;amp;数据——写入与读取

在前面 [万里征程--Windows App开发]文件&数据--读取文件/文件夹名我们简单得获取了文件名和文件夹名,很明显没有太大的意思对吧,这里就来写真正的文件.而在 [万里征程--Windows App开发]文件&数据--文件选取器中,已经能够通过文件选取器保存和打开文件了,这里是对保存和读取文件的一些补充. 准备工作 在XAML中添加一个TextBlock用于显示相关信息,添加一个Button来使用它的Click事件,当然了,最后分别创建2个. 创建文件和读取文件 1.实例化Stor

【万里征程——Windows App开发】控件大集合2

下面再来看看一些前面还没有讲过的控件,不过控件太多以至于无法全部列出来,大家只好举一反三啦. Button 前面最常用的控件就是Button啦,Button还有一个有意思的属性呢,当把鼠标指针放在Button上时,就会在Button的头顶冒出一串文本啦.这个不太截图哎-- <Button ToolTipService.ToolTip="Go to www.blog.csdn.net/nomasp" Margin="692,458,0,230" /> Bu

【万里征程——Windows App开发】SemanticZoom视图切换

相信用过Windows Phone或者Windows 8/8.1/10的朋友对下面这张截图肯定不陌生.这就是通过SemanticZoom来实现的,当数据过多时,这种控件尤其适用.它有一个放大视图ZoomedInView和一个缩小试图ZoomedOutView,前者主要用来显示当前页面的详细信息,后者则致力于快速导航. 那么我就自己来动手实践咯,首先我们在XAML中添加大致的界面,就像画画要先画轮廓一样. <Grid Name="grid1" Background="{T

【万里征程——Windows App开发】应用栏

基本的用法我们在 [万里征程--Windows App开发]页面布局和基本导航中已经讲过了,这里继续补充关于应用栏的更多用法. Icon 在之前的学习中,我们知道Icon属性中有很多很多系统预定义,但也许这些还是不够的,现在就来增加几种用法咯. 字符集应用 <AppBarToggleButton Label="Sigma" Click="AppBarButton_Click"> <AppBarToggleButton.Icon> <Fo

【万里征程——Windows App开发】ListView&amp;amp;GridView之分组

本文承接[万里征程--Windows App开发]ListView&GridView之添加数据. 在上一篇中我们已经了解了怎样将数据绑定到ListView或GridView,但既然要用到这两个控件往往是因为数据繁多,那么几乎就不可避免的要让其能够分组.我们所绑定的数据源可能是项列表,其中的每个项甚至还有其自己的项,那么问题就来了. 一时不会也想不出什么宏伟的例子,就做一个简单的闹钟的时间表的ListView和GridView吧.那么先在项目中添加一个类,最好在Shared下.内容都是很简易的,闹

【万里征程——Windows App开发】页面布局和基本导航

上一篇博客中大概的新建了一个应用,几乎是空白的.如果是初学者的话现在当然想往里面加点东西对不对.那么这篇博客就来看看页面的布局都是怎样的. 首先安装上一篇博客中的顺序来新建一个项目.新建好之后就点开MainPage.xaml开始敲代码啦.^_^ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid.RowDefinitions> <RowDefinitio

【万里征程——Windows App开发】开发准备

操作系统及SDK 操作系统 如果打算开发Windows App,那么你的电脑就不能再用老旧的Windows 7了.推荐使用Windows 8.1.写这篇博客的时候,我用的操作系统是Windows 10 Pro Technical Preview [Build 10041]. 操作系统除了在官网下载之外,还可以在DreamSpark等地方下载.DreamSpark上除了Office其他微软操作系统.开发工具及其他软件对学生均免费开放. 另外再推荐一个网站:MSDN i tell you Visua

【万里征程——Windows App开发】设置共享(共享源和共享目标)

上一篇博客简单介绍了通过粘贴板来共享数据,这一节将会添加更为强大的功能哦. 以下就是大概的样式了,随便看看就好了,这都不是重点. <Grid Background="AliceBlue"> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition /> <RowDefinition Height="auto"/>