.......你是想怎么样,直接跳转到承载Silverlight的那个aspx页面啊!!如果是在同一页面中你可以用Frame啊!
具体做法是:
新建一个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();
}