在WPF中创建单窗口导航

时间:2015-03-05 08:17:16

标签: c# wpf

我想使用WPF创建一个kiosk模式应用程序。我想使用单个窗口,因为用户不应该退出此全屏应用程序。

应用程序应引导用户通过一个过程。当用户继续进行该过程时,屏幕应该不断变化并向他显示下一步。

通常我只是创建一个窗口并使用"状态机"切换包含当前步骤信息的UserControls。有没有更好的方法来实现此功能?也许我会使用多个窗口或页面(从未使用过它们)获得更好的结果。

我之所以要问的是,将来我希望有一种简单,干净的方式在单个窗口内切换内容。即我打算在切换内容时实现某种动画(例如滑动到下一个/上一个步骤)。如果它不是最灵活和最干净的方法,我不想在现有方法上投入更多精力。

有什么想法吗?

PS:这是关于桌面应用程序的。今天我来自Winforms环境,正在尝试使用WPF。

1 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一目标。

首先使用基于页面的应用程序,这将允许您使用单个窗口。这是一个非常有趣的tutorial

使用这种方法的一个好处是内置页面之间的导航。

您的要求是您需要使用动画来在页面之间进行转换,据我所知,使用基于页面的应用程序无法实现此目的(我可能错了)。所以你的另一个选择是使用UserControl MVVM方法。

现在这可能不会有多大意义,但这里有:

您可以使用单个主视图模型来保存多个子视图模型,每个模型都可以具有可见性属性,该属性决定了相关视图的可见性。主视图模型将负责显示适当的视图模型,具体取决于用户当前在应用程序中的位置。

使用一些聪明的XAML,您可以在视图变得可见时创建故事板(动画),这样您就可以实现所需的疯狂动画。

无论如何,这可能没有任何意义,所以这里有一个tutorial来帮助你开始使用MVVM。