如何在Silverlight中切换“页面”

这个做法是来自“Jesse Liberty”的视频“USING MULTIPLE PAGES, PART 1”,基本方法是创建一个PageSwticher,这个PageSwitcher不直接显示页面,而是作为一个后台,负责切换各个页面。
具体做法是:
新建一个UserControl,名字可以叫做PageSwitcher。然后将PageSwitcher.xaml中的Grid控件去掉,编程下面这样:
    xmlns=" http://schemas.microsoft.com/winfx/2006/xaml/presentation%22
    xmlns:x=" http://schemas.microsoft.com/winfx/2006/xaml%22>

然后在后台代码中增加一个方法,比如叫做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
 
 

本文出自 “WPF外包公司―北京动点..” 博客,转载请与作者联系!

你可能感兴趣的:(职场,silverlight,页面,休闲)