windows phone8.1:页面导航详解

小梦给大家带来windows phone 8.1应用开发实战教程,分享自己学习,开发过程中的经验和技巧。

今天给大家分享windows phone 8.1页面导航相关知识。涉及知识点如下:


  1. 页面一导航到页面二

  2. 页面一带一个参数导航到页面二

  3. 页面一带多个参数导航到页面二

  4. 重写后退键,使得后退键可以返回前一页面。注:后退键默认是退出程序。

  5. 清楚后退堆栈历史。

本例共有三个页面:MainPage,BlankPage1,BlankPage2。

MainPage,BlankPage1的前台代码如下:


<Grid>
<Grid.RowDefinitions>
<RowDefinition
Height="Auto"/>
<RowDefinition Height="80"/>
<RowDefinition
Height="80"/>
<RowDefinition Height="80"/>
<RowDefinition
Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="这是主页"
Grid.Row="0" FontSize="40"></TextBlock>
<StackPanel Grid.Row="1"
Orientation="Horizontal">
<TextBlock Text="网站:" FontSize="40"
Margin="0,0,0,30" Width="88"/>
<TextBox x:Name="textName" Height="40"
Margin="0,10,0,0" Width="260" />
</StackPanel>
<StackPanel
Grid.Row="2" Orientation="Horizontal">
<TextBlock Text="网址:"
FontSize="40" Margin="0,0,0,30" Width="88"/>
<TextBox
x:Name="textAdress" Height="40" Margin="0,10,0,0" Width="260"
/>
</StackPanel>
<StackPanel Grid.Row="3"
Orientation="Horizontal">
<TextBlock Text="内容:" FontSize="40"
Margin="0,0,0,30" Width="88"/>
<TextBox x:Name="textContent"
Height="40" Margin="0,10,0,0" Width="260"
/>
</StackPanel>
<Button Content="去第二页" Grid.Row="4"
Margin="122,147.667,0,147" Click="Button_Click"/>

</Grid>

 

BlankPage2的前台代码如下:


 1 <Grid>
2 <Grid.RowDefinitions>
3 <RowDefinition Height="Auto"/>
4 <RowDefinition Height="80"/>
5 <RowDefinition Height="*"/>
6 </Grid.RowDefinitions>
7 <TextBlock Text="这是第三页" Grid.Row="0" FontSize="40"></TextBlock>
8 <TextBox Name="text" Grid.Row="1" Height="60" Margin="0,9.667,10,0"/>
9 <Button Content="我要直接回主页" Grid.Row="2" Margin="122,147.667,0,147" Click="Button_Click"/>
10 </Grid>

mainpage的后台关键代码如下:


 1 private void Button_Click(object sender, RoutedEventArgs e)
2
3 {
4 Website web=new Website()
5 {
6 Name=this.textName.Text,
7 Address=this.textAdress.Text,
8 Content=this.textContent.Text
9 };
10 Frame.Navigate(typeof(BlankPage1),web); //对应知识点3,即传递多个参数时建立一个对象,传递对象即可。
11 }

blankpage1的后台关键代码如下:


 1 protected override void OnNavigatedTo(NavigationEventArgs e)//重写OnNavigatedTo接受从maingape页面传递来的参数。
2 {
3 var web = (Website)e.Parameter;
4 this.textName.Text = web.Name;
5 this.textAdress.Text = web.Address;
6 this.textContent.Text = web.Content;
7 HardwareButtons.BackPressed += HardwareButtons_BackPressed;//注册重写后退按钮事件
8 }
9
10 private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)//重写后退按钮,如果要对所有页面使用,可以放在App.Xaml.cs的APP初始化函数中重写。
11 {
12 e.Handled = true;
13
14 if (Frame.CanGoBack)
15 Frame.GoBack();
16 }
17
18 private void Button_Click(object sender, RoutedEventArgs e)//传递单个参数
19
20 {
21 Frame.Navigate(typeof(BlankPage2), "我是从第二页传送过来的!!");
22 }

blankpage2的关键后台代码:


 1 protected override void OnNavigatedTo(NavigationEventArgs e)
2 {
3 text.Text = (string)e.Parameter;
4 Frame.BackStack.RemoveAt(Frame.BackStackDepth - 1);//对应知识点5,清楚后退堆栈的最后一条历史,本例中即第二页,删除后即可从第三页直接到主页。
5 }
6
7 private void Button_Click(object sender, RoutedEventArgs e)
8 {
9 Frame.GoBack();
10 }

运行效果:


源代码下载:

页面导航源代码

PS:希望热爱windows phone开发的大神,小白能来编程小梦一起多多交流,windows
Phone开发者本身就比较少,小梦希望大家有一个交流的平台,欢迎大家光临!

时间: 2024-08-12 16:57:26

windows phone8.1:页面导航详解的相关文章

windows下eclipse调试hadoop详解

1)下载Eclipse http://www.eclipse.org/downloads/ Eclipse Standard 4.3.2 64位 2) 下载hadoop版本对应的eclipse插件 我的hadoop是1.0.4,因此下载hadoop-eclipse-plugin-1.0.4.jar 下载地址:http://download.csdn.net/detail/m_star_jy_sy/7376169 3)安装hadoop插件 将hadoop-eclipse-plugin-1.0.4.

windows API中CreateWindow()函数详解

CreateWindow函数详解 在注册完窗口类后就需要进行窗口的创建,用到的函数理所当然就是CreateWindow(), 而这个函数是基于窗口类的,所以还需要指定几个参数来制定特定的窗口.而且像一些不带边框的窗口是怎么创建的也是具有相当的技巧的,就是创建的是不带标题和边框的窗口,然后自己在客户区绘制程序的内容,能够制作个性化的应用程序. API解释 该函数创建一个重叠式窗口.弹出式窗口或子窗口.它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的).函数也指该窗口的父窗口或所属

Windows Nano Server安装配置详解05:在虚拟机中部署NanoServer

1.将 NanoServerImageGenerator 文件夹从 Windows Server 2016 ISO 中 \NanoServer 文件夹复制到你硬盘上的文件夹. 拷贝到C盘根目录. 2.以管理员身份启动 Windows PowerShell,将目录更改为 NanoServerImageGenerator 文件夹所在的文件夹,然后导入模块,其方法为 Import-Module .\NanoServerImageGenerator -Verbose 3.通过运行以下命令(将提示你输入新

windows批处理(cmd/bat)编程详解

reference: http://blog.csdn.net/bingjie1217/article/details/12947327 http://www.cnblogs.com/doit8791/archive/2012/05/20/2511001.html 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多.cmd文件只有在windo

Windows GPT磁盘GUID结构详解

前一篇Windows磁盘MBR结构详解中我们介绍了Basic Disk中的Master Boot Record结构.GPT Disk作为Windows 2003以后引入的分区结构.使用了GUID分区表结构,它与MBR相比好处是支持更大和更多的分区,提高容错.本文介绍了GUID分区表的结构和各个字段的含义. GPT Disk 的Protective MBR: GPT Disk的结构中,第一个LBA位置(LBA 0)存放的是Protective MBR,随后LBA1的位置才是GPT的GUID分区表头

关于移动web页面viewport详解

这种方式做的移动Web页面,设计稿通常是按照960*640的规格进行设计,再开发的时候,通常会把里面量到的尺寸缩小一半再开发. 移动web端页面设置详解 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0"/> 涉及到了移动设备(ios, android)的屏幕尺寸问题,d

Windows Nano Server安装配置详解01:安装Nano Server

在安装Nano Server之前,我们先来看看Nano Server具有什么样的特点.Nano Server给我的第一眼感觉就是非常的小,非常的轻,非常的快速,安装简便.弊端就是大规模部署的时候需要借助于powershell等脚本工具.具体的特点如下: 1)非常的小,VHD文件只有500多MB: 2)轻量级的OS,比server core占用资源更少,初始安装完成后,默认的进程.服务更少: 3)需要的补丁更新少,更小的攻击面: 4)适合部署IIS.DNS等应用程序: 5)适合部署windows

TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文)

TortoiseGit的安装准备 首先你得安装windows下的msysgit. 安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]. 下载地址:https://yunpan.cn/cvnADhh7WmDDP  访问密码 d7f3 注:为了省去配置的麻烦,最好先安装msysgit-1.9.4,然后再安装TortoiserGit-1.8.12.0,最后安装中文语言包. TortoiseGit的安装 msysgit安装[一路默认即可]  安装好git以后,右键,会发现

SP:创建Windows应用程序的要点详解

主要是对前面几个部分知识内容的一些总结并进行详细的分析 主函数入口点 在 main.cpp 中需要做得第一件事是包含 Win32 程序所需的头文件和定义函数入口点. 需要注意的是, Win32窗体应用程序的主函数入口点是 WinMain 函数(控制台程序的入口点是 main 函数). 对于现在来说,我们只需要在源文件的顶部包含 windows.h 头文件即可. 源文件 main.cpp 的头文件和空的 WinMain 函数见于以下程序: #include<Windows.h> int WINA