> 文档中心 > 「页面切换」WPF控件库:Newbeecoder.UI 页面切换

「页面切换」WPF控件库:Newbeecoder.UI 页面切换

页面旨在用于导航应用程序(通常带有后退和前进按钮)。页面切换必须托管在 NavigationWindow 或 Frame 中。

Window窗体只是普通的WPF应用程序Window,但可以通过 Frame 容器托管 Pages页面可用于XAML 浏览器应用程序,您也可以使用 Frame 控件将它们加载到您自己的应用程序中,或者您可以使用NavigationWindow并创建类似浏览器的应用程序。

在WPF程序中实现导航要解决以下问题:

1)如何使用 MVVM 模式在主视图上加载不同的视图?

2)如何实现导航视图模型?

3) 如何控制打开或活动视图的最大数量?

4) 如何在打开的视图之间切换?

有两种方式实现面页切换效果,分别用NavigationWindow或Frame控件。

第一种方式使用NavigationWindow窗口加载Page页面,NavigationWindow类是从Window类派生而来的,因此它继承了Window的所有属性,例如方法、属性和事件。导航窗口提供后退和前进按钮,用于导航到我们之前访问过或尚未访问过的页面。

要创建基于导航窗口的应用程序,重写NavigationWindow类,在类中添加标题栏高度、窗体圆角、拖动大小边框宽度、边框阴影宽度等依赖属性。

接下来自定义NavigationWindow样式。

在Newbeecoder.UI控件库中样式就封装好了,用实例来演示如何用NavigationWindow加载页面和切换。

第二种方式用Frame 容器托管 Pages页面。

在MainWindow的XAML 代码创建 Frame 控件并设置其 Content属性以在其中加载 XAML 页面。Newbeecoder.UI控件库的NbFrame添加AnimationMode实现页面切换动画效果。

下面通过视频演示UI控件库功能和代码:

C# WPF新版开源控件库:Newbeecoder.UI

Demo下载地址:

Newbeecoder.UI控件库Demo下载icon-default.png?t=M1L8https://share.weiyun.com/py6W1dcK