Windows 8实用窍门系列:2.Windows 8开发知识储备
在本文中将整理出一些Windows 8开发前需要了解的一些基础知识并且列为相应的几个表格以供大家参考,其中部分来源于MSDN、部分来源于本人整理,如有误之处请指正,谢谢。
一、新建常用XAML项目类型模板和各种语言的关系
项目类型名 | 项目类型作用以及描述 | 适用语言 |
空白应用程序 | 创建一个最简化的空白XAML应用以供用户使用,需要自己添加界面、公共代码等。 | C#/VB/C++/Javascript |
拆分应用布局程序 | 显示主从式列表,如新闻列表(分为很多个新闻类别,每个新闻类别下直接是可以选择相应的新闻标题看到内容) | C#/VB/C++/Javascript |
网格应用程序 | 可以对该应用进行自定义以创建允许用户通过类别浏览来查找完全符合他们需求的内容。例如:购物应用、新闻应用以及照片或视频应用。 | C#/VB/C++/Javascript |
固定应用布局程序 | 提供与空白应用模板相同的基本 Metro 风格应用,不同之处在于它的内容适用于固定的视区 | Javascript |
导航应用布局程序 | 提供基本的导航、应用桌面工具栏(应用栏)和基于媒体模式的布局,这些布局也用在网格应用和拆分应用中。导航应用模板仅包含一个最小页面片段,你可以方便地向其中添加更多页面片段。然后可以添加你自己的内容。 | Javascript |
Direct2D应用程序 | 可以构建使用 DirectX 的 Metro 风格应用 | C++ |
二、应用程序清单
文件名 | 选项卡功能描述 | 适用语言 |
应用程序UI | 配置 UI 设置,包括各种LOGO、初始屏幕以及初始方向。 | C#/VB/C++/Javascript |
功能 | 指定你的应用可以使用的系统功能或设备,如 Internet 访问、视频库以及音乐库等访问 | C#/VB/C++/Javascript |
声明 | 为应用合约添加声明,如搜索和共享目标合约,以及指定其属性。 | C#/VB/C++/Javascript |
内容 URI | 指定你的应用可以访问或无法访问的 URI,仅在Javascript语言创建的项目 | Javascript |
打包 | 设置部署包时标识和介绍该包的属性 | C#/VB/C++/Javascript |
三、在新建的XAML项目类型模板(拆分应用布局程序、网格应用程序)下有一个Common文件夹,里面有一些公共文件,其代码意义如下表所示:
文件名 | 描述 | 适用语言 |
StandardStyles.xaml | 定义由项目和项模板使用的样式和模板。因为我们精心地设计了这些样式(例如,文本格式、边距等),不仅使它们具有吸引力,而且还能始终保持一致,所以请在你的应用中使用这些样式并且/或者从这些样式中派生新的样式(参阅下面的“修改样式”)。 可能。请不要直接在此文件中更改样式,但是在你的控件中使用它们并/或通过它们来创建你自己的新样式(参阅本主题后面的“修改样式”)。 | C#/VB/C++ |
ReadMe.txt | 包含关于模板的重要信息。当更新模板时,这些自述信息也会更改。我们建议你在使用新模板时先阅读此文件中的信息。 | C#/VB/C++ |
BindableBase .cs|.vb|.cpp|.h | 这是一个基本类,提供 INotifyPropertyChanged 的实现。 你可以随意构建基于此类的任何类。 | C#/VB/C++ |
BooleanNegationConverter .cs|.vb|.cpp|.h | 在 XAML 中使用的转换器。对布尔值取反。 | C#/VB/C++ |
BooleanToVisibilityConverter .cs|.vb|.cpp|.h | 在 XAML 中使用的转换器。将布尔值转换为可见状态。 | C#/VB/C++ |
LayoutAwarePage .cs|.vb|.cpp|.h | •主要用于侦听视图状态更改事件(例如,贴靠、纵向以及填充状态),并通过切换页面的视觉状态来进行响应。你可以替代此行为以提供自定义视觉状态名称,但仍使用此文件中提供的事件代码。例如,当应用处于贴靠方向时,如果用户的 UI 不同(例如,用户登录与注销时),则可以使用与这些不同 UI 对应的两个视觉状态名称,但是仍使用此文件中提供的相同事件代码。 •包含默认视图模型。 为简单起见,我们已经在此文件中创建了一个属性,即“一个将字符串映射到对象的字典”。 这提供了一个轻型视图模型,供你在各种视图中用来绑定数据。 你可以随意使用此视图模型,或者提供你自己的视图模型并忽略此属性。 •由于每个页面都有相同的“返回”按钮,因此我们在此根类型中提供了事件处理程序,因为它们始终具有相同的导航服务调用。 |
C#/VB/C++ |
RichTextColumns .cs|.vb|.cpp|.h | 在网格应用中,当查看项目详细信息时,我们希望显示一个给定项目的全部文本。 该文本最好先在固定宽度的列中垂直显示,然后尽可能在同样多的列中水平显示。 该控件提供这种机制。 你只要提供所需的内容和每个列的模板,它就会自动为你动态生成数据的所需列数。 | C#/VB/C++ |