Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Windows Phone
Code

Windows Phone 8:介绍 XAML

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called Getting Started with Windows Phone 8.
Windows Phone 8: Creating Your First Application
Windows Phone 8: Controls and Properties

Chinese (Simplified) (中文(简体)) translation by Niau Wu (you can also view the original English article)

开发软件通常有两步过程,包括开发用户界面和应用程序的主要逻辑。Windows 手机也不例外。在开发 Windows Phone 应用程序时,XAML 用于实现用户界面。

1.XAML 是什么?

XAML 或称为可扩展应用程序标记语言(Extensible Application Markup Language)是由微软开发的宣告式(declarative)语言,用于创建 Windows Phone 的图形用户界面对象。如果您熟悉 XML,那么 XAML 的代码片段看起来会很熟悉。XAML 是给 C# 开发人员,就像 HTML 是给 Web 开发人员。它是 Windows Phone 用户界面设计的基础。

在 Windows Phone 平台上有很多组件可用,如按钮,文本块,文本框等。虽然可单用 C# 来开发 Windows Phone 8 应用程序,但这是不切实际又麻烦的。

XAML 让创建用户界面容易得多。在 Visual Studio 中建立新的 Windows Phone 8 的项目或页面后,您会看到有两个窗口。一个窗口显示 XAML 代码,而另一个窗口显示了视觉设计外观。

为了更佳理解这一点,让我们重新审视前一个教程创建的项目,我们创建了第一个 Windows Phone 8 应用程序。

您马上会注意到相同于 XML 和 HTML 的层次结构。在 XAML 代码的每个元素都代表一个 Windows Phone 的组件,我们稍后会在本系列讨论之。您会发现,每一个元素都有一个开始和结束标记,就像在 XML 或 HTML。您也可以看到,一些元素有额外的属性,遵循以下结构:

我会将每个元素的 XAML 文件对照其代表的 Windows Phone 组件,组件是框架的一部分的对象。每个组件可能有附加的属性。某些组件,诸如 Grid(网格)StackPanel 组件,甚至可以包含其它的组件。例如,看一下有着 TitlePanelName 属性的 StackPanel 组件包含两个 TextBlock 组件。

元素的分层排列使开发人员能够更方便的设计出 Windows Phone 应用程序的用户界面,还提供了制作 Windows Phone 应用程序的用户界面的组件之间的结构。

2. XAML vs C#

正如我在本文前面所说,可以不用 XAML ,而只用 C# 创建整个 Windows Phone 应用程序的用户界面 。然而,在现实中,这样不实用。所以不推荐,因为会使应用程序的用户界面的设计凌乱。

此外,只使用 C# 创建应用程序的用户界面,将显著限制使用 MVVM 设计模式的可能性。这意味着,先进的技术,如数据绑定(data binding) ,将更加难以实现。

让我们来仔细看一下,用于建立应用程序的用户界面的这两种技术,XAML 和 C# 。为了比较,我首先介绍如何使用 XAML 在 StackPanel 组件中宣告一个 TextBlock 和一个 Button 组件。然后,我会告诉您,如何用 C# 作。

XAML

您可以看到上面的 XAML 代码片段是如何宣告的。组件的层次结构很容易理解。使用 XAML 的另一个好处。我们可以直接在 Visual Studio 中,通过设计预览面板看到改变的结果,面板通常位于 Visual Studio 左侧。

C#

让我们来看看如何使用 C# 而不是 XAML,来实现相同的用户界面。

正如您所看到的,相较于 XAML 有点笨重而且无法立即改变的结果。您可能还注意到了,在 C# 代码块的行数几近两倍,也不像前面的 XAML 代码段那么可读。

对于 Windows Phone 的开发,用 XAML 来创建用户界面是首选。然而,有可能需要实现很难使用 XAML 建立的更复杂组件,例如,当组件需要动态扩展时。虽然这些情况不太常见,但是要知道我们可以回到 C#。

结论

XAML 是 Windows Phone 开发的一个组成部分,确时有了解之必要。我建议您去看看在 Windows Phone 开发中心 Microsoft 官方的 XAML 文檔。它包含了关于使用 XAML 开发 Windows Phone 的深入信息。

在本教程中,我们看到了 Windows Phone 开发中,XAML 的角色以及和 C# 比较如何创建用户界面。在接下来的教程中,我们将继续使用 XAML ,来掌握一些常用的 Windows Phone 组件,它们的用法,以及如何在 Windows Phone 8 应用程序实现它们。

Envato qr branded
关注我们的公众号
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.