zoukankan      html  css  js  c++  java
  • Silverlight页面切换方法

    初学Silverlight时,会遇到页面间切换问题,这里介绍一种方法供交流学习用:

    (1)、新建一个Silverlight应用程序.

    (2)、添加一个新的Silverlight用户控件,如PageSwitcher.xaml,将PageSwitcher.xaml文件中的Grid控件去掉,如下所示:

    1 <UserControl x:Class="SP.PageSwitcher"
    2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    4  </UserControl>

    (3)、在PageSwitcher.xaml.cs文件中添加如下代码:

    代码
    1 public partial class PageSwitcher : UserControl
    2 {
    3 public PageSwitcher()
    4 {
    5 InitializeComponent();
    6 SwitchPage(new MainPage()); //MainPage是SL4.0中的默认起始页
    7   }
    8 /// <summary>
    9 /// 切换页面
    10 /// </summary>
    11 /// <param name="newPage">需要被切换到的页面</param>
    12   public void SwitchPage(UserControl newPage)
    13 {
    14 this.Content = newPage;
    15 }
    16 }

    (4)、接下来,我们修改App.xaml.cs中的Application_Startup方法,修改起始页面。

     

    private void Application_Startup(object sender, StartupEventArgs e)
    {
    this.RootVisual = new PageSwitcher();
    }

    (5)、这时可以添加新的页面,如LoginSuccess.xaml页面,在LoginSuccess.xaml文件中添加如下代码:

    代码
    1 <UserControl x:Class="SP.LoginSuccess"
    2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4 Width="400" Height="300">
    5 <Grid x:Name="LayoutRoot" Background="White">
    6 <TextBlock>
    7 跳转成功!
    8 </TextBlock>
    9 <Button x:Name="btnReturn" Content="返回" Click="btnReturn_Click" Height="20" Width="100" Margin="0,0,100,200"></Button>
    10 </Grid>
    11  </UserControl>

    主要是提示跳转成功,并可以点击按钮返回。

    LoginSuccess.xaml.cs文件如下:

    代码
    1 public partial class LoginSuccess : UserControl
    2 {
    3 public LoginSuccess()
    4 {
    5 InitializeComponent();
    6 }
    7
    8 private void btnReturn_Click(object sender, RoutedEventArgs e)
    9 {
    10 PageSwitcher pageSwitcher = this.Parent as PageSwitcher;
    11 pageSwitcher.SwitchPage(new MainPage());
    12 }
    13 }

    (6)、在MainPage.xaml文件中添加一个按钮,用于跳转到LoginSuccess.xaml页面。

     

    MainPage.xaml文件代码如下: 

    1 private void btnLogin_Click(object sender, RoutedEventArgs e)
    2 {
    3 Test test = this.Parent as Test;
    4 test.SwitchPage(new LoginSuccess());
    5 }

     MainPage.xaml.cs文件代码如下:

    代码
    1 <Grid x:Name="LayoutRoot" Background="Black">
    2 <Canvas>
    3 <Button x:Name="btnLogin" Content="登录" Click="btnLogin_Click" Width="100" Height="20"></Button>
    4 </Canvas>
    5
    6 </Grid>

    OK,完成~~~

  • 相关阅读:
    HDU 4920 Matrix multiplication
    UVALive 5545 Glass Beads
    POJ 2230 Watchcow
    hdu 1878 欧拉回路
    hdu 3018 Ant Trip
    2015 Multi-University Training Contest 1 hdu 5296 Annoying problem
    深入理解php内核 编写扩展 I:介绍PHP和Zend
    PHP数组实际占用内存大小的分析
    深入理解php底层:php生命周期
    PHP实现的进度条效果详解
  • 原文地址:https://www.cnblogs.com/jiewei915/p/1777301.html
Copyright © 2011-2022 走看看