创建 Windows Hello 登录应用 - Windows apps

创建 Windows Hello 登录应用 - Windows apps

在新项目中,在名为“Views”的解决方案中创建一个新文件夹。 此文件夹将包含此示例中要导航到的页面。 右键单击 解决方案资源管理器中的项目,选择“ 添加新>文件夹”,然后将文件夹重命名为 “视图”。

打开 MainWindow.xaml,并将 Window 内容替换为空 StackPanel 或 Grid 控件。 加载 MainWindow 时,我们将实现页面导航并导航到新页面,因此我们不需要 MainWindow 中的任何内容。

在 XAML 中向 Title 添加 属性。 该属性应如下所示: Title="Windows Hello Login".

从MainWindow.xaml.cs中删除myButton_Click事件处理程序,以避免任何编译错误。 此示例不需要此事件处理程序。

右键单击新的 “视图 ”文件夹,选择“ 添加新>项 ”,然后选择 “空白页 ”模板。 将此页命名为“MainPage.xaml”。

打开App.xaml.cs文件并更新 OnLaunched 处理程序以实现应用的页面导航。 还需要添加 RootFrame_NavigationFailed 处理程序方法来处理加载页面时发生的任何错误。

protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)

{

m_window = new MainWindow();

var rootFrame = new Frame();

rootFrame.NavigationFailed += RootFrame_NavigationFailed;

rootFrame.Navigate(typeof(MainPage), args);

m_window.Content = rootFrame;

m_window.Activate();

}

private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)

{

throw new Exception($"Error loading page {e.SourcePageType.FullName}");

}

还需要将四个 using 语句添加到App.xaml.cs文件的顶部,以解决代码中的编译错误。

using Microsoft.UI.Xaml.Controls;

using Microsoft.UI.Xaml.Navigation;

using System;

using WindowsHelloLogin.Views;

右键单击新的 “视图 ”文件夹,选择“ 添加新>项 ”,然后选择 “空白页 ”模板。 将此页命名为“Login.xaml”。

若要定义新登录页的用户界面,请添加以下 XAML。 此 XAML 定义一个 StackPanel 用来对齐如下子组件:

包含标题的一个TextBlock。

一个用于错误消息的TextBlock。

用于输入用户名的 TextBox。

使用 A Button 导航到注册页。

一个用于包含 Windows Hello 状态的TextBlock。

要说明登录页面的TextBlock,因为目前还没有后端或配置好的用户。

TextWrapping="Wrap" Width="300"

TextAlignment="Center" VerticalAlignment="Center" FontSize="16"/>