龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

解决Silverlight传递参数问题及Silverlight窗体跳转的方法(2)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
这句代码是什么意思呢?分析如下: ①:当整个应用程序启动时,程序的主界面加载就是Grid; ②Grid控件加载完成了,那么它的创建也完成,接下我们就可以为它添

这句代码是什么意思呢?分析如下:

  ①:当整个应用程序启动时,程序的主界面加载就是Grid;

  ②Grid控件加载完成了,那么它的创建也完成,接下我们就可以为它添加一个子页面;

3.登陆时的主页面问题就完全解决了,但是登陆成功后我们又怎么来转向成功后的页面呢;我们还是在App.cs里面写一个方法来解决,

Code [http://www.xueit.com]
1         public void RedirectTo(UserControl userControl)
2         {
3             App app = (App)Application.Current;①
4             app.rootGrid.Children.Clear();②
5             app.rootGrid.Children.Add(userControl);③
6         }

这三句代码是什么意思呢?分析结果如下:

  ①:它的意思就是得到当应用程序的对象;

  ②:刚才我们不是对Grid里面添加Login页面进去了,现在为了添加成功页面进去,我们必须把Grid控件中的Login清除掉;

  ③这上操作是建立在②的基础之上的,没有它的Clear就不能添加;所以这一步就是在添加新页面;

4.我们怎么来调用这个方法呢?不难看出这个方面的参数类型是UserControl,是一个控件;在调用它时我们传一个就是一个页面;

Code [http://www.xueit.com]
1         private void btnLogin_Click(object sender, RoutedEventArgs e)
2         {
3             App app = (App)Application.Current; 
4             //app.RedirectTo(new MainPage());
5              app.RedirectTo(new MainPage("测试参数"));
6         }

在要转向的页面中加入一个有参的构造函数,就可以在xaml页面中传参了。

Code [http://www.xueit.com]
1         public MainPage(string userName)
2         {
3             InitializeComponent();
4             this.Name = userName;
5             btnIndex.Content = this.Name;
6         }

关于App文件的介绍我在这里就不介绍了,可以在他里面可以定义全局变得,比如:可以定义一个变量来判断是否是登陆用户,这些都可以来做到的;


收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!

热评话题

按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接