发表于2024-11-05
《Windows 10应用开发实战(第2版)》通过丰富且简单易学的示例,全面讲述了面向Windows 10通用应用(UWP)开发相关的知识和技巧。主要内容包括应用项目基本结构、页面导航、排版布局、控件、数据视图、图形、动画、图像、多媒体、文件与数据、网络通信、传感器和语音技术等。
本书可为对Windows技术感兴趣的读者提供参考,可作为希望从事Windows 10平台开发的开发人员的入门教程,也可作为普通高校或培训机构.NET技术相关课程的参考教材,尤其适合具备.NET框架和C#编程语言基础的读者使用。
周家安,微软*有价值专家(MVP),擅长.NET及其相关开发技术,专注于探索简单实用的编程学习方法。从事过基于Windows CE扫描终端应用的项目开发和Web服务接口的项目开发。长期在博客园等技术社区撰写Windows相关技术文章,并出版有《深入浅出:Windows 8.1应用开发》《Windows 10 应用开发实战》《精通C# 5.0》《C#6.0学习笔记——从*一行C#代码到*一个项目设计(全程视频课堂)》等畅销图书。
丛书序(沈向洋)Ⅰ
第2版前言Ⅲ
第1版前言Ⅴ
第1章准备工作
1.1安装Visual Studio开发环境
1.2Visual Studio个性设置
1.2.1选择颜色主题
1.2.2设置字体
1.2.3设置启动界面
1.2.4设置项目的默认存放路径
1.2.5用好“快速启动”功能
1.3通用应用
1.3.1新的XAML设计器
1.3.2如何使用特定平台的API
1.4使用帮助文档和示例代码
第2章了解应用程序项目
2.1应用程序项目的文件结构
2.2应用程序入口点
2.3应用程序生命周期
2.3.1Application类
2.3.2挂起与恢复
2.3.3处理前台与后台之间的切换
2.3.4预启动
2.4清单文件
第3章页面导航
3.1实现导航
3.2导航事件
3.3传递导航参数
3.4管理导航记录
3.5处理手机上的“后退”键
3.6缓存页面实例
3.7保存和恢复导航状态
第4章排版布局
4.1网格布局
4.2栈布局
4.3按坐标布局
4.4Z顺序
4.5对齐方式
4.6边距
4.7自适应布局
4.8自适应触发器
第5章控件
5.1Control类
5.1.1控件模板
5.1.2控件状态
5.1.3获取控件的状态列表的技巧
5.2路由事件
5.3按钮
5.3.1Button
5.3.2RepeatButton
5.3.3HyperlinkButton
5.4单选框与多选框
5.5呈现静态文本
5.5.1TextBlock
5.5.2RichTextBlock
5.5.3处理文本溢出
5.5.4嵌入自定义字体
5.6显示图像
5.7文本输入控件
5.7.1TextBox
5.7.2RichEditBox
5.8选取日期和时间
5.9ViewBox控件
5.10报告进度
5.10.1ProgressBar
5.10.2ProgressRing
5.11对话框
5.11.1MessageDialog
5.11.2ContentDialog
5.12上下文菜单
5.12.1PopupMenu
5.12.2MenuFlyout
5.13应用程序栏
5.14命令
5.15开关控件
5.16滑动条
5.17用户控件
5.18自定义控件
5.19WebView控件
5.19.1呈现HTML内容
5.19.2执行脚本函数
5.19.3捕捉HTML内容
5.20SplitView控件
5.21墨迹处理
第6章数据视图
6.1数据绑定
6.1.1绑定方向
6.1.2Binding类
6.1.3Binding扩展标记
6.1.4数据绑定的继承性
6.1.5转换器
6.1.6更改通知
6.2ItemsControl控件
6.3DisplayMemberPath与SelectedValuePath
6.4数据模板
6.4.1自定义数据模板
6.4.2数据模板选择器
6.5分组视图
6.6自定义数据项的布局
6.7缩放视图
6.8Pivot与Hub
6.8.1Pivot控件示例
6.8.2Hub控件示例
6.9FlipView控件
6.10增量加载
6.11直接绑定到方法
第7章图形
7.1构造图形的基础元素
7.2画刷
7.2.1单色画刷(SolidColorBrush)
7.2.2线性渐变画刷(LinearGradientBrush)
7.2.3图像画刷(ImageBrush)
7.3基本图形
7.3.1直线(Line)
7.3.2椭圆(Ellipse)
7.3.3矩形(Rectangle)
7.3.4折线(Polyline)
7.3.5多边形(Polygon)
7.4路径
7.4.1LineGeometry
7.4.2RectangleGeometry
7.4.3EllipseGeometry
7.4.4PathGeometry
7.4.5GeometryGroup
7.5二维变换
7.5.1平移(TranslateTransform)
7.5.2旋转(RotateTransform)
7.5.3缩放(ScaleTransform)
7.5.4复合变换(CompositeTransform)
7.5.5使用相对定位的变换原点
7.6三维透视
7.7三维变换
第8章动画
8.1动画概要
8.1.1时间线
8.1.2演示图板(Storyboard)
8.1.3动画分类
8.1.4如何与动画时间线关联
8.2控制动画播放行为
8.3简单动画
8.4关键帧动画
8.5属性路径
第9章图像
9.1用于UI的图像加载
9.2将可视化对象呈现为图像
9.3可写位图(WriteableBitmap)
9.4图像的解码与编码
9.4.1图像解码
9.4.2图像编码
9.5图像处理
9.6人脸检测
第10章多媒体
10.1MediaElement与多媒体播放
10.2后台音频
10.3转码
10.4多媒体捕捉
10.5捕捉屏幕
第11章启动与激活
11.1Launcher组件
11.2自定义文件关联
11.3协议激活
11.4激活远程系统上的应用
第12章文件与数据
12.1文件与目录
12.1.1文件/目录操作的相关类型
12.1.2读写本地文件
12.1.3FileIO与PathIO
12.1.4DataWriter与DataReader
12.1.5访问特殊目录
12.2应用设置
12.3访问可移动存储
12.4文件与目录选择器
12.5StorageApplicationPermissions类
12.6XML与JSON数据处理
12.6.1读写XML
12.6.2操作JSON数据
12.7数据共享
12.7.1剪贴板
12.7.2向其他应用程序共享数据
12.7.3接收共享数据
12.8应用程序服务
第13章网络通信
13.1Socket通信
13.1.1基于UDP协议的通信
13.1.2通过TCP协议传输数据
13.2访问Web服务
13.3HTTP协议通信
13.4后台传输
13.5推送通知
13.6访问RSS资源
13.7扫描Wi�睩i网络
第14章传感器与地理定位
14.1设备坐标
14.2传感器的使用方法
14.3罗盘
14.4加速度传感器
14.5磁倾仪
14.6陀螺仪
14.7光感器
14.8方向传感器
14.9高度计
14.10气压计
14.11获取电池信息
14.12获取地理位置
第15章语音技术
15.1语音识别
15.2自定义语音识别规则
15.2.1自定义SGRS文件
15.2.2短语列表约束
15.3语音指令
15.4语音朗读
15.5Cortana与应用程序的后台交互
第3章页面导航
通过上一章的学习,读者已经了解到应用程序的基本结构,以及如何对应用程序生命周期内各个阶段进行处理,本章将向读者讲述与页面导航相关的内容。
与网站应用程序相似,UAP应用程序也会划分为多个页面,不同的页面将向用户呈现不同的内容。例如,一个闹钟应用程序可能存在以下页面: 浏览页面用于列出用户已经创建的闹钟清单以及每条闹钟信息的状态; 编辑页面可用于填写新闹钟信息或修改现有闹钟的信息; 设置页面允许用户对应用程序进行个性化选择,如自定义闹钟铃声等。
可见,合理使用页面导航,能够增强应用程序的层次性和逻辑表现能力。本章内容包括:
使用Frame类实现页面导航;
导航并传递参数;
管理导航记录;
处理手机上的“回退”按钮事件;
理解页面缓存;
管理页面的导航状态。
3.1实现导航
Frame类派生自ContentControl类,这说明它是一个内容控件。与其他内容控件不同的是,Frame具有导航功能,因此,Frame类的内容属性所承载的通常是应用程序页面的实例,而实现页面导航是通过调用Navigate方法来完成的,该方法有多个重载,比较常用的有以下两个重载版本:
public bool Navigate(System.Type sourcePageType);
public bool Navigate(System.Type sourcePageType, object parameter);
其中,sourcePageType参数是必须的,类型为Type,即要导航的目标页面的类型。第二个重载版本有一个parameter参数,可为任意类型,表示导航参数,也就是在导航到目标页面时传递的附加信息,目标页面可以根据parameter参数来做出相应处理,本章后面会向读者详细说明。
每个应用程序页面由Page类表示,但通常不会直接使用Page类,在向应用程序项目添加新页面时都会从Page类派生出一个子类,即自定义页面类,Navigate方法中的sourcePageType参数则指定为自定义页面类的Type。如果导航顺利完成,Navigate方法返回True,否则返回False。如果导航失败,会引发NavigationFailed事件。
下面示例将演示如何通过Frame对象来实现页面导航。
应用程序项目包含两个页面: FirstPage和SecondPage。应用程序运行后将导航到FirstPage页,接着在FirstPage页上单击页面下方的命令按钮进入SecondPage页。
首先将App类的代码做如下修改:
public sealed partial class App : Application
{
public App ()
{
this.InitializeComponent();
}
///
/// 用于导航的Frame对象
///
public Frame RootFrame { get; private set; }
protected override void OnLaunched ( LaunchActivatedEventArgs args )
{
// 实例化Frame对象
RootFrame = new Frame();
// 将当前Frame作为窗口的内容
Window.Current.Content = RootFrame;
// 导航到页面一
RootFrame.Navigate(typeof(FirstPage));
// 激活当前窗口
Window.Current.Activate();
}
}
代码先实例化一个Frame对象,然后将它作为当前窗口的内容,紧接着调用Navigate方法导航到FirstPage页。
在FirstPage中,通过处理命令按钮事件导航到SecondPage页,代码如下:
private void OnNext ( object sender, RoutedEventArgs e )
{
this.Frame.Navigate(typeof(SecondPage));
}
由于Page类公开了一个Frame属性,可以获取负责导航的Frame实例的引用,因此上面代码通过Frame属性得到参与导航的Frame对象,然后调用其Navigate方法导航到SecondPage页。
应用程序的运行结果如图3��1所示。
图3��1使用Frame类进行页面导航
完整的示例代码请参考\第3章\Example_1。
3.2导航事件
在页面导航过程中,应用程序会引发一系列事件,在需要的时候,开发者应该处理这些事件。
对Frame而言,在导航到目标页面之前会引发Navigating事件,此时可以做必要的检查,如果希望取消导航,可以设置事件参数NavigatingCancelEventArgs的Cancel属性为True来阻止导航; 当Frame对象顺利导航到目标页面后,会发生Navigated事件。通过事件参数对象的SourcePageType属性可以获得目标页面的类型,即传递给Navigate方法的sourcePageType参数的值。
对于页面来说,当导航进入页面后,会调用OnNavigatedTo方法; 当导航即将离开页面时,OnNavigatingFrom方法会被调用,同样,可以通过设置方法参数e的Cancel属性为True来取消导航; 当导航已经离开当前页面后会调用OnNavigatedFrom方法。以上三个方法都是虚方法,开发者在派生类中可以重写它们并加入自定义处理代码。
那么,如何知道上面所述的几个事件的发生顺序呢?接下来将通过一个示例来向读者展示各个导航事件的引发顺序。
在应用程序项目中添加三个页面,分别命名为Page1、Page2和Page3。三个页面的结构相似,所以此处只介绍Page1页面的结构,其描述界面布局的XAML代码如下:
VerticalAlignment="Center" HorizontalAlignment="Center"/> 页面中仅用一个TextBlock元素来显示标识文本,以方便在运行阶段进行观察。 本示例程序主窗口的内容对象并非Frame实例,而是MainPage页面,然后将负责导航的Frame对象放置在MainPage页面中。MainPage页面的XAML如下: Page 1 Page 2 Page 3 Navigating="OnFrameNavigating" Navigated="OnFrameNavigated"> ……
第2版前言
自首次发布(版本build 10240)以来,Windows 10操作系统已经推送过两次正式的更新版本,分别是build 10586与build 14393,面向开发者的SDK工具以及API版本也跟随系统进行了相应的更新,本书是依据正式发布的SDK最新版本(即build 14393,不包含最新的预览版本)来进行编写的。
本书精心挑选了一些面向开发者的新功能,并结合实例加以阐述,以帮助广大读者朋友了解新版SDK和API集。
本次修订将包括以下新内容:
手写与墨迹应用;
应用预启动功能以及在前/后台之间的切换;
x: Bind绑定标记的使用;
人脸检测技术的应用;
扫描无线网络;
远程激活;
应用与Cortana的交互。
Windows 10应用开发实战(第2版) 下载 mobi epub pdf txt 电子书 格式
Windows 10应用开发实战(第2版) 下载 mobi pdf epub txt 电子书 格式 2024
Windows 10应用开发实战(第2版) 下载 mobi epub pdf 电子书内容很不错,阅读效果较好,参加活动,价格实惠。
评分好书,只是现在通用程序用处不太多
评分很好。学习.NET开发必备。.NET技术在未来一定有一番天下!一定要好好学习
评分很好。学习.NET开发必备。.NET技术在未来一定有一番天下!一定要好好学习
评分很好。学习.NET开发必备。.NET技术在未来一定有一番天下!一定要好好学习
评分静下心学习!适合入门的教程!
评分内容略简略,可以更详细一些。
评分京东买书,速度快,正品,放心
评分好
Windows 10应用开发实战(第2版) mobi epub pdf txt 电子书 格式下载 2024