c# - 在 UWP 应用程序中制作向导的正确方法?

标签 c# user-interface uwp win-universal-app wizard

我正在尝试为 UWP 应用程序实现启动向导。向导最好在一个不可调整大小且位于屏幕中央的新窗口中打开。

我已经尝试使用 LaunchUriForResultsAsync为了在我们自己的应用程序中启动虚拟协议(protocol)。这样,我可以打开一个新的不可调整大小的窗口,但它具有固定大小 (500x500) 和位置(主应用程序的左侧)。尝试调用 TryResizeView 或设置 PreferredLaunchViewSize 没有任何效果,即使它们可以在同一 UWP 应用的主(第一个)窗口中工作。

我只能从其他应用程序中找到几个示例:

  • Xbox 应用程序:似乎在新进程中引入了一个新的托管窗口 - 但我不想在新进程中启动向导窗口。
  • Skype 应用程序:它们的初始设置和添加联系人对话框似乎只是主窗口内的自定义控件,它的外观和行为类似于 ContentDialog,但有一个 x 按钮可以关闭它。

我想知道在 UWP 应用程序中是否有针对此场景的任何模板或最佳实践,而不是自己实现整个向导逻辑?

最佳答案

Instead of implementing the whole wizard logic by myself, I was wondering if there's any template or best practice for this scenario within a UWP application?

你可以使用 Windows Template Studio创建 UWP 项目并启用“首次运行提示”功能。

enter image description here

除此之外,我还有一些事情要和你分享。无法设置 UWP 窗口的位置。因此,您所说的“在不可调整大小且位于屏幕中央的新窗口中打开”是不可能的。

一般来说,如果您希望在用户首次运行您的应用时向他们显示提示,您可以制作一个单独的页面。然后,当他们第一次打开您的应用时,您可以直接导航到此页面,而不是打开一个新窗口。

在提示页面中,您可以使用一些控件来显示不同的信息。例如,Flip view控制。您可以使用它来制作 FlipView 页面指示器,如下所示:

enter image description here

我看到很多应用程序使用这种方式来显示他们的启动页面。请尝试一下。

关于c# - 在 UWP 应用程序中制作向导的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52989985/

相关文章:

java - 如何使 C++ 代码在 Java 组件上绘制

c - 如何在 Gtk+ 中使用 C 将按钮和文本框放入 GUI 窗口中?

python - 为什么我的程序使用 .py 扩展名但不能使用 .pyw 扩展名?

c# - Xamarin.Forms 选择器默认值

xamarin - UWP 中的应用程序图标

c# - AutoMapper:如何获取目标属性的名称

c# - 了解 Boyer Moor

javascript - 使用knockout js上传文件

c# - DataSource C# 中使用的变量

c# - 如何在 .net 核心中执行 String.Copy?