教程:使用 XAML 和 C 在 Visual Studio 中创建第一个通用 Windows 平台应用程序#

在本教程中,作为 Visual Studio 集成开发环境(IDE)的简介,你将创建在任何 Windows 10 或更高版本设备上运行的“Hello World”应用。 为此,请使用通用 Windows 平台(UWP)项目模板、可扩展应用程序标记语言(XAML)和 C# 编程语言。

注意

如果你对通用 Windows 平台(UWP)中的当前功能感到满意,则无需将项目类型迁移到 Windows 应用 SDK。 WinUI 2.x 和 Windows SDK 支持 UWP 项目类型。 若要开始使用 WinUI 3 和 Windows 应用 SDK,则可以按照 Windows 应用 SDK 教程中的步骤操作。

在本教程中,你将:

  • 创建项目
  • 创建应用程序
  • 运行应用程序

先决条件

需要 Visual Studio 才能完成本教程。 访问 Visual Studio 下载页面 以获取免费版本。

注意

本教程需要空白应用(通用 Windows)项目模板。 在安装过程中,选择 通用 Windows 平台开发 工作负载:

显示通用 Windows 平台开发工作负载的 Visual Studio 安装程序的屏幕截图。

如果已安装 Visual Studio 并需要添加它,请在菜单中选择 工具>获取工具和功能,或在 创建新项目 窗口中,选择 安装更多工具和功能 链接。

“创建新项目”窗口的屏幕截图,其中显示了“安装更多工具和功能”链接。

创建项目

首先,创建通用 Windows 平台项目。 在你添加任何内容之前,项目类型就已经附带了所有所需的模板文件!

  1. 打开 Visual Studio,然后在开始窗口中选择 创建新项目

  2. 在“创建新项目”屏幕上,在搜索框中输入“通用 Windows”,选择“空白应用(通用 Windows)”对应的 C# 模板,然后选择“下一步”

    “创建新项目”对话框的屏幕截图,其中搜索框中输入了“通用 Windows”,并突出显示了“空白应用(通用 Windows)”项目模板。

  3. 为项目命名为 HelloWorld后,选择 创建

    “配置新项目”对话框的屏幕截图,其中“HelloWorld”在“项目名称”字段中输入。

  4. 接受“新式通用 Windows 平台项目”对话框中的默认“目标版本”和“最小版本”设置

    “新建通用 Windows 平台项目”对话框的屏幕截图,其中显示了默认目标版本和最低版本设置。

    注意

    如果这是你第一次使用 Visual Studio 创建 UWP 应用,则可能会出现 设置 对话框。 选择“开发人员模式”,然后选择“是”

    屏幕截图,其中显示了“UWP 设置”对话框,其中包含启用开发人员模式的选项。

    Visual Studio 会为你安装其他开发人员模式包。 包安装完成后,关闭 “设置”对话框

  1. 打开 Visual Studio,然后在开始窗口中选择 创建新项目

  2. 在“创建新项目”屏幕上,在搜索框中输入“通用 Windows”,选择“空白应用(通用 Windows)”对应的 C# 模板,然后选择“下一步”

    “创建新项目”对话框的屏幕截图,其中搜索框中输入了“通用 Windows”,并突出显示了“空白应用(通用 Windows)”项目模板。

  3. 为项目命名,HelloWorld,然后选择 “创建”

    “配置新项目”对话框的屏幕截图,其中“HelloWorld”在“项目名称”字段中输入。

  4. 新建通用 Windows 平台项目 对话框中,接受默认的 目标版本最低版本 设置。

    “新建通用 Windows 平台项目”对话框的屏幕截图,其中显示了默认目标版本和最低版本设置。

    注意

    如果这是你第一次使用 Visual Studio 创建 UWP 应用程序,则会出现“启用 Windows 开发人员模式”对话框。 选择“开发人员设置”以打开“设置”。 打开“开发人员模式”,然后选择“是”

    屏幕截图,其中显示了“UWP 设置”对话框,其中包含启用开发人员模式的选项。

    Visual Studio 会为你安装其他开发人员模式包。 包安装完成后,关闭 设置 对话框。

创建应用程序

现在开始开发吧。 添加按钮控件,向按钮添加操作,然后启动“Hello World”应用以查看其外观。

向设计画布添加按钮

  1. 解决方案资源管理器中,双击 MainPage.xaml 打开拆分视图。

    解决方案资源管理器窗口的屏幕截图,其中显示了 HelloWorld 项目中的属性、引用、资产和文件,其中选择了 MainPage.xaml 文件。

    有两个窗格:XAML 设计器,其中包括设计画布,以及 XAML 编辑器,你可以在其中添加或更改代码。

    显示 Visual Studio IDE 中 MainPage.xaml 打开的屏幕截图,XAML 设计器窗格显示空白设计图面,XAML 编辑器窗格显示一些 XAML 代码。

  2. 选择 工具箱 打开工具箱浮出窗口。

    屏幕截图,显示 XAML 设计器窗格左侧突出显示的“工具箱”浮出窗口的选项卡。

    如果未看到 工具箱 选项,可以从菜单栏中打开它。 为此,请选择“视图”>“工具箱”。 或者,按 Ctrl +Alt+X

  3. 选择“固定”图标,固定“工具箱”窗口

    显示“固定”图标(在“工具箱”窗口的顶部栏中突出显示)的屏幕截图。

  4. 选择 按钮 控件,然后将其拖到设计画布上。

    屏幕截图,显示“工具箱”窗口中突出显示的“按钮”和设计画布上的按钮控件。

    如果在 XAML 编辑器中查看代码,则会看到 按钮 也会出现在那里:

    显示新添加的“按钮”(在 XAML 编辑器中突出显示)的代码的屏幕截图。

  1. 解决方案资源管理器中,双击 MainPage.xaml 打开拆分视图。

    “解决方案资源管理器”窗口的屏幕截图,其中显示了 HelloWorld 项目中的属性、引用、资产和文件。已选择 MainPage.xaml 文件。

    有两个窗格:XAML 设计器,其中包括设计画布,以及 XAML 编辑器,你可以在其中添加或更改代码。

    显示 Visual Studio IDE 中打开 MainPage.xaml 的屏幕截图。XAML 设计器窗格显示空白设计图面,XAML 编辑器窗格显示一些 XAML 代码。

  2. 选择 工具箱 打开工具箱浮出窗口。

    屏幕截图,显示 XAML 设计器窗格左侧突出显示的“工具箱”浮出窗口的选项卡。

    如果未看到 工具箱 选项,可以从菜单栏中打开它。 为实现此操作,请选择 视图>工具栏。 或者,按 Ctrl +Alt+X

  3. 选择“固定”图标,固定“工具箱”窗口

    显示“固定”图标(在“工具箱”窗口的顶部栏中突出显示)的屏幕截图。

  4. 选择 按钮 控件,然后将其拖到设计画布上。

    屏幕截图,显示“工具箱”窗口中突出显示的“按钮”和设计画布上的按钮控件。

    如果在 XAML 编辑器中查看代码,则会看到按钮也会显示在那里:

    显示新添加的“按钮”(在 XAML 编辑器中突出显示)的代码的屏幕截图。

向按钮添加标签

  1. XAML 编辑器中,将 Button Content 值从 按钮 更改为 Hello World!

    显示 XAML 编辑器中按钮的 XAML 代码的屏幕截图,内容属性已更改为 Hello World!

  2. 请注意 XAML 设计器中的按钮也会随之更改

    屏幕截图,显示 XAML 设计器画布上的按钮控件,按钮标签已更改为 Hello World!

  1. XAML 编辑器中,将 Button Content 值从 按钮 更改为 Hello World!

    显示 XAML 编辑器中按钮的 XAML 代码的屏幕截图,其中内容属性的值更改为“Hello World!”。

  2. 请注意 XAML 设计器中的按钮也会随之更改

    屏幕截图,显示 XAML 设计器画布上的按钮控件,按钮标签已更改为 Hello World!

添加事件处理程序

事件处理程序 听起来很复杂,但这只是事件发生时调用的代码的另一个名称。 在本例中,它为 Hello World! 按钮添加了一个动作。

  1. 双击设计画布上的按钮控件。

  2. MainPage.xaml.cs(后台代码页)中编辑事件处理程序代码。

    下面是一些有趣的事情。 默认事件处理程序如下所示:

    显示默认Button_Click事件处理程序的 C# 代码的屏幕截图。

    对其进行更改,如下所示:

    显示新异步Button_Click事件处理程序的 C# 代码的屏幕截图。

    下面是要复制和粘贴的代码:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
       MediaElement mediaElement = new MediaElement();
       var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
       Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello, World!");
       mediaElement.SetSource(stream, stream.ContentType);
       mediaElement.Play();
    }
    
  1. 双击设计画布上的按钮控件。

  2. 在 MainPage.xaml.cs(代码隐藏页)中编辑事件处理程序代码

    下面是一些有趣的事情。 默认事件处理程序如下所示:

    显示默认Button_Click事件处理程序的 C# 代码的屏幕截图。

    对其进行更改,如下所示:

    显示新异步Button_Click事件处理程序的 C# 代码的屏幕截图。

    下面是要复制和粘贴的代码:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
       MediaElement mediaElement = new MediaElement();
       var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
       Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello, World!");
       mediaElement.SetSource(stream, stream.ContentType);
       mediaElement.Play();
    }
    

我们刚刚做了什么?

该代码使用一些 Windows API 创建语音合成对象,然后提供一些要说的文本。 有关使用 SpeechSynthesis的详细信息,请参阅 System.Speech.Synthesis

运行应用程序

是时候生成、部署和启动“Hello World”UWP 应用,看看它的外观和声音。 操作方法如下。

  1. 使用“播放”按钮在本地计算机上启动应用程序。 它具有文本“本地计算机”

    屏幕截图,显示“播放”按钮旁边打开的下拉框,其中选择了“本地计算机”。

    或者,可以从菜单栏中选择“调试”“调试”>“开始调试”,或按 F5 启动应用。

  2. 请查看你的应用程序,该应用程序将在启动画面消失后不久显示。 应用程序应该看起来与此图示相似:

    显示正在运行的 UWP“Hello World”应用程序的屏幕截图。

  3. 选择 Hello World 按钮。

    Windows 10 或更高版本的设备字面上说:“Hello, World!”

  4. 若要关闭应用,请选择工具栏中的“停止调试 ”按钮。 或者,从菜单栏中选择调试>停止调试,或按Shift+F5,

是时候生成、部署和启动“Hello World”UWP 应用,看看它的外观和声音。 操作方法如下。

  1. 使用“播放”按钮(显示文本为 本地计算机),在本地计算机上启动应用程序。

    屏幕截图,显示“播放”按钮旁边打开的下拉框,其中选择了“本地计算机”。

    或者,可以从菜单栏中选择“调试”“调试”>“开始调试”,或按 F5 启动应用。

  2. 查看你的应用,该应用将在启动画面消失后不久显示。 应用应类似于此图像:

    显示正在运行的 UWP“Hello World”应用程序的屏幕截图。

  3. 选择 Hello World 按钮。

    Windows 10 或更高版本的设备字面上说:“Hello, World!”

  4. 若要关闭应用,请选择工具栏中的“停止调试 ”按钮。 或者,从菜单栏中选择“调试”>“停止调试”,或按Shift+F5

下一步

祝贺你完成本教程! 我们希望你了解了有关 UWP 和 Visual Studio IDE 的一些基础知识。 若要了解详细信息,请继续学习以下教程: