关于Silverlight页面跳转的总结

关于Silverlight页面跳转的总结,第1张

概述一、Frame框架跳转的运用:      新建一个MainPage.xaml页面,输入以下代码:      <StackPanel>             <StackPanel Orientation="Horizontal" Background="WhiteSmoke">                 <HyperlinkButton Content="页面1" FontSize="14

一、Frame框架跳转的运用:

     新建一个MainPage.xaml页面,输入以下代码:

     <StackPanel>
            <StackPanel OrIEntation="Horizontal" Background="WhiteSmoke">

                <Hyperlinkbutton Content="页面1" FontSize="14" NavigateUri="/Page1.xaml" Targetname="tgFrame" />

                <Hyperlinkbutton Content="页面2" FontSize="14" NavigateUri="/Page2.xaml" Targetname="tgFrame"/>

            </StackPanel>
            <navigation:Frame x:name="tgFrame" FontSize="14" Source="MainPage.xaml" margin="2" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/>

        </StackPanel>

再新建两个页面,分别为:Page1.xaml,Page2.xaml,在Page1.xaml中输入以下代码:

    <TextBlock Text="这里是页面1的内容!"/>

再在Page2.xaml中输入以下代码:

      <TextBlock Text="这里是页面2的内容!"/>

完成!

二、XAML页面间的跳转:

  可以先在App.xaml后台代码中定义一个对象:
GrID rootGrID = new GrID();
同时在App.xaml后台代码中新增一个方法:
////////////////
/// <summary>
/// 页面跳转
/// </summary>
/// <param name="usercontrol"></param>
public static voID RedirectTo(UserControl usercontrol)
{
App app = (App)Application.Current;
app.rootGrID.Children.Clear();
app.rootGrID.Children.Add(usercontrol);
}

然后将App.xaml中的以下方法修改为如下代码:

 private voID Application_Startup(object sender,StartupEventArgs e)
         {
               this.RootVisual = rootGrID;
               rootGrID.Children.Add(new MainPage());
         }

在以后的Xaml页面的跳转button响应事件中,直接通过以下方式处理:
App.RedirectTo(new MyXXXaml());

三、XAML页面跳转到aspx(或HTML)页面,在响应事件中键入以下代码即可:

     HTMLWindow HTML = HTMLPage.Window;
     HTML.Navigate(new Uri("Default.aspx",UriKind.relative));
四、页面传值(转载):
关于页面传值我仅仅说一下我的方式,当让网上也有其他的关于页面之间传值的方法。主要是使用独立存储的IsolatedStorageSettings对象,首先在UserControl中创建对象:
private IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;然后在button事件中加入如下代码,用于传值:
if (!appSettings.Contains("Page2"))
      appSettings.Add("Page2","Username");

OK了,在目标页面获取值的方式就简单了.
if (appSettings.Contains("Page2"))
    txbShowvalue.Text = "User name: " + appSettings["Page2"].ToString();

需要注意的一点是这个获取值的代码不要写在页面的构造函数里面,有可能不会触发,原因是在上面对象已经保存在内存中了,但是会触发Loaded事件,因此可以把代码放到这个事件里面。

总结

以上是内存溢出为你收集整理的关于Silverlight页面跳转的总结全部内容,希望文章能够帮你解决关于Silverlight页面跳转的总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1026697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存