WPF页面切换源码
本文包括以下内容:
1. 如何实现Page切换
2. 如何为Page增加淡入淡出(Fade)效果
3. 示例
4. 下一步
如何实现Page切换
从MFC到Winform几乎切换方式是一致的,找到一个容器,然后将Dialog或是UserControl塞进去就完了,不断的Add/Remove来实现切换画面。在WPF中很不适应,缺少了Panel,不知道该从何而起。
在’WPF揭秘’和’WPF in Action’中都有提到使用NavigationWIndow或是Frame来实现导航,,只要Navigate就OK了。
操作起来也就3步:
1. 新建Application,Window1默认继承Window,这里改为继承自NavigationWindow,表示支持多Page。
2. 新建Page,任意数量。
3. 然后将NavigationWindow.Source设为默认页面(Default Page)。
4. 在Click中Navigation到相应的Page即可。
如何为Page增加淡入淡出(Fade)效果
如上所示,Window1继承自NavigationWindow,那么显然抓住Navigating事件不放,做如下操作:
1. 取消当前Navigate请求,如果有当前页的前提下。
2. 淡出当前页,如果有当前页的前提下。
3. 完成淡出过程后Navigate到目标页。
4. 淡入目标页。
3个页面如下:
1. 索引页,包括两个图标,点击分别进入相应页面
Page1,点击返回索引页。
1