创建你的第一个 UWP 应用程序

此示例演示如何开发简单的 UWP 应用程序。

在创建“空白应用程序(通用 Windows)”项目时,你的解决方案中会创建许多基本文件。

可以在解决方案资源管理器中查看项目中的所有文件。

你项目中的一些重要文件是:

  • App.xaml 和 App.xaml.cs - App.xaml 用于声明应用程序中可用的资源,App.xaml.cs 是它的后端代码。App.xaml.cs 是应用程序的默认入口点
  • MainPage.xaml - 这是应用程序的默认启动 UI 页面(你也可以在 App.xaml.cs 中更改应用程序启动页面)
  • Package.appxmanifest - 此文件包含应用程序的重要信息,如显示名称,入口点,可视资产,功能列表,打包信息等。

入门

  • 在页面上添加按钮

    要向页面添加任何 UI 元素或工具,只需从左侧的工具箱窗口中拖放元素即可。在工具箱中搜索按钮工具并将其放入应用页面。

  • 自定义 UI

    特定工具的所有属性都显示在右下方的属性窗口中。

    在这里,我们将按钮内的文字更改为“说出来!”。要执行此操作,请先按下按钮以选择它,然后滚动属性窗口以查找内容并将文本更改为所需的字符串(“说出来!”)。

    我们还将更改页面的背景颜色。每个页面都有一个父元素(通常是一个网格),其中包含所有其他元素。因此,我们将更改父网格的颜色。要执行此操作,请点击网格,然后将 属性窗口中的“ 画笔”>背景 更改为所需的颜色。

在你自定义 UI 之后,UI 将看起来像这样。

https://i.stack.imgur.com/ERdyx.jpg

  • 代码背后

    现在让我们点击我们的按钮吧!

    单击按钮会触发事件,我们需要处理事件以在单击按钮时执行一些有用的操作。

    添加事件处理程序

    要向按钮添加单击事件处理程序,请选择按钮,转到属性窗口并选择闪电图标。此窗口包含我们选择的元素可用的所有事件(在我们的示例中为按钮)。接下来,双击 Click 事件旁边的文本框,自动生成按钮单击事件的处理程序。

https://i.stack.imgur.com/q7ySF.jpg

在此之后,你将被重定向到 aC#page(MainPage.xaml.cs)。将以下代码添加到事件处理程序方法:

 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();

接下来,将 async 关键字添加到事件处理程序。

添加上面的代码后,你的类应该如下所示:

public sealed partial class MainPage : Page
{
    string speakIt = "Hello, World!";
    public MainPage()
    {
        this.InitializeComponent();
    }

    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(speakIt);
        mediaElement.SetSource(stream, stream.ContentType);
        mediaElement.Play();

    }
}
  • 启动你的应用!

    你的应用程序已准备好启动。你可以通过按 F5 或选择要部署和调试应用程序的设备来启动应用程序,然后单击开始按钮。

https://i.stack.imgur.com/lrzTl.jpg

构建完成后,你的应用程序将部署到你的设备上。根据设备的分辨率和屏幕大小,应用程序将自动配置其布局。 (你可以调整窗口大小以查看其无缝工作方式) https://i.stack.imgur.com/Y0FDo.jpg

  • 走得更远

    既然你已经完成了第一次申请,那就让我们更进一步吧!

    在页面中添加一个文本框,单击该按钮,应用程序将说出文本框中写入的内容。

    首先将 TextBox 控件从工具箱拖放到布局中。接下来,从属性菜单中为 TextBox 命名。 (为什么我们需要指定一个名称?这样我们就可以轻松使用这个控件了)

    默认情况下,Visual Studio 会为你的控件命名,但根据他们的操作或相关内容命名控件是一个好习惯。

    我正在命名我的文本框 - “ speakText ”。

    private async void button_Click(object sender, RoutedEventArgs e)
    {
        //checking if the text provided in the textbox is null or whitespace
        if (!string.IsNullOrWhiteSpace(speakText.Text))
            speakIt = speakText.Text;
        else
            speakIt = "Please enter a valid string!";

        MediaElement mediaElement = new MediaElement();
        var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
        Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync(speakIt);
        mediaElement.SetSource(stream, stream.ContentType);
        mediaElement.Play();

    }

现在部署你的代码!

你的应用程序现在可以说出你提供给它的任何有效字符串! https://i.stack.imgur.com/cpveX.jpg

恭喜! 你已经成功构建了自己的 UWP 应用程序!