.NET Core 创建UWP程序
在本章中,我们将讨论如何使用.NET Core创建UWP应用程序。UWP是Universal Windows Platform的简称,即Windows通用应用平台。UWP是新一代的可以跨设备的应用,也就是说,你开发了一个版本的UWP程序,就可以同时在允许win10的pc、手机、智能设备甚至游戏机上运行。
以下是UWP的必要条件。
如果你想在本地运行它,你必须安装Windows 10或者更新的操作系统,当然你也可以在Windows 8上进行开发,然后你需要在模拟器上运行它,所以强烈建议使用Windows 10。
对于UWP应用开发,你需要安装通用Windows平台开发模块,如果你安装Visual Studio 2017的时候没有勾选它,那么需要打开Visual Studio程序来安装它。
勾选“通用Windows平台开发”,点击右下角的确认按钮即可。
等待安装结束,重新启动Visual Studio,然后新建项目就可以看到相应的选项了。
我们创建一个空白的UWP程序,项目名字设置为UWPFirstApp,创建的时候还需要指定UWP程序的版本,根据需要指定即可。
要查看运行示例,让我们打开MainPage.XAML并添加以下代码。
<Page x:Class = "UWPFirstApp.MainPage" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local = "using:UWPFirstApp" xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable = "d"> <Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel HorizontalAlignment = "Center"> <TextBlock Text = "Hello, world!" Margin = "20" Width = "200" HorizontalAlignment = "Left"/> <TextBlock Text = "Write your name." Margin = "20" Width = "200" HorizontalAlignment = "Left"/> <TextBox x:Name = "txtbox" Width = "280" Margin = "20" HorizontalAlignment = "Left"/> <Button x:Name = "button" Content = "Click Me" Margin = "20" Click = "button_Click"/> <TextBlock x:Name = "txtblock" HorizontalAlignment = "Left" Margin = "20"/> </StackPanel> </Grid> </Page>
下面是C#中按钮的点击事件。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace UWPFirstApp { /// <summary> /// 可用于自身或导航至 Frame 内部的空白页。 /// </summary> public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } private void button_Click(object sender, RoutedEventArgs e) { if (txtbox.Text != "") txtblock.Text = "Hello: " + txtbox.Text; else txtblock.Text = "You have not write your name"; } } }
在本地计算机上运行上述代码,将看到以下窗口。在文本框中键入任何名称,然后按“Click Me”按钮,你就可以看到反馈。