如何在Silverlight中切换“页面”

本文介绍了一种在WPF应用程序中实现多页面切换的方法。通过创建一个名为PageSwitcher的用户控件作为页面切换器,并利用其SwitchPage方法来实现在不同页面间的平滑过渡。这种方法有助于改善用户体验并提高应用的模块化。

这个做法是来自“Jesse Liberty”的视频“USING MULTIPLE PAGES, PART 1”,基本方法是创建一个PageSwticher,这个PageSwitcher不直接显示页面,而是作为一个后台,负责切换各个页面。

具体做法是:
新建一个UserControl,名字可以叫做PageSwitcher。然后将PageSwitcher.xaml中的Grid控件去掉,编程下面这样:

然后在后台代码中增加一个方法,比如叫做SwitchPage,用来切换页面,然后在构造函数中调用,用来显示第一个要显示页面:
public partial class PageSwitcher : UserControl 
    { 
public PageSwitcher() 
        { 
            InitializeComponent(); 
            SwitchPage(new Page());    //显示第一个要显示的页面 
        }  
/// 
/// 切换页面 
/// 
/// 需要被切换到的页面 
public void SwitchPage(UserControl newPage) 
        { 
this.Content = newPage; 
        } 
    }
然后在我们的各个页面中,在需要切换页面的事件响应方法中,只需要这么做:
private void btn_Click(object sender, RoutedEventArgs e) 

    PageSwitcher switcher = this.Parent as PageSwitcher; 
    switcher.SwitchPage(new AnotherPage()); 
}
最后,我们需要修改app.xaml.cs中的Application_Startup方法,修改起始页面
private void Application_Startup(object sender, StartupEventArgs e) 

this.RootVisual = new PageSwitcher(); 
}
REF:http://www.cnblogs.com/Ricky81317/archive/2008/11/28/1342942.html
 
 

本文转自dotfun 51CTO博客,原文链接:http://blog.51cto.com/dotfun/285691
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值