如何在 Windows Phone 上执行页面导航
2013-05-06 16:45
330 查看
转自:http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff626521(v=vs.105).aspx
适用于: Windows Phone 8 | Windows Phone OS 7.1
创建其他页面
在本节中,将创建您可以从应用主页导航到的其他内容页面。
将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Windows Phone”模板。
选择 Windows Phone 应用 模板。填写所需的项目名称。
从 MainPage.xaml 的设计器视图中,选择“页面标题”,然后在“文本”属性中或直接在 XAML 中将该标题文本更改为“mail page”。
在“解决方案资源管理器”中右键单击您的项目名称,从菜单中选择“添加”,然后选择“新建项”。
选择“Windows Phone 纵向页面”,并将名称更改为“SecondPage”,然后选择页面底部的“添加”。
从 SecondPage.xaml 的设计器视图中,选择“页面标题”,然后在“文本”属性中或直接在 XAML 中将该标题文本更改为“second page”。
在页面之间导航
本节将向您演示如何在 MainPage.xaml 和 SecondPage.xaml 之间进行前后导航。
双击超链接按键以便添加超链接点击事件的事件处理程序。将打开 MainPage.xaml.cs 文件。
为 hyperlinkButton1_Click 事件处理程序添加以下代码:
C#
在 SecondPage.xaml 中,将 Button 控件拖动到设计器界面。选择该控件并将“内容”属性更改为“Navigate Back to Main Page”,或者直接在 XAML 中进行更改。您可能需要扩展控件宽度才能看到所有文本。
双击按键以便添加按键点击事件的事件处理程序。将打开 SecondPage.xaml.cs 文件。
为 button1_Click 事件处理程序添加以下代码:
C#
通过选择“调试 | 启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用。
在运行应用时,您会看到应用包含两个页面:main page 和 second page。您可以使用包含已在其事件处理程序中配置的目标 URI 的超链接来从 main page 导航到 second page。通过使用导航服务的
GoBack() 方法,您可以从 second page 返回 main page。
传递参数
在本节中,将从一个页面获取文本,并将文本添加到另一个页面的文本块控件。将使用上一个项目完成下面的过程。
Button 控件拖动到设计器界面,并且将控件并列放置。清除控件属性内的 TextBox 控件的已有文本。对于
Button 控件,将控件重新命名为 passParam,并在控件属性中或直接在 XAML 中将按钮文本更改为“Go”。
双击 Go 按键以便添加按键点击事件的事件处理程序。将打开 MainPage.xaml.cs 文件。
为 passParam_Click 事件处理程序添加以下代码:
C#
在 SecondPage.xaml 中,将“工具箱”中的 TextBlock 控件拖动到设计器界面。清除控件属性内的
TextBlock 控件的已有文本。为了方便查看,可能需要扩展控件的高度和宽度并选择更大的字体大小。另外,对于本示例,将已创建的
TextBlock 命名为“textBlock1”。
在 SecondPage.xaml.cs 中,创建下列方法:
C#
通过选择“调试 | 启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用。
在 main page 中,在 TextBox 控件中输入一些文本,然后点按“Go”。当到达
second page 时,您键入的文本将显示在 second page 的
TextBlock 控件中。
适用于: Windows Phone 8 | Windows Phone OS 7.1
创建其他页面
在本节中,将创建您可以从应用主页导航到的其他内容页面。
创建其他页面的步骤
通过选择“文件 | 新建项目”菜单命令来创建一个新项目。将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Windows Phone”模板。
选择 Windows Phone 应用 模板。填写所需的项目名称。
从 MainPage.xaml 的设计器视图中,选择“页面标题”,然后在“文本”属性中或直接在 XAML 中将该标题文本更改为“mail page”。
在“解决方案资源管理器”中右键单击您的项目名称,从菜单中选择“添加”,然后选择“新建项”。
选择“Windows Phone 纵向页面”,并将名称更改为“SecondPage”,然后选择页面底部的“添加”。
从 SecondPage.xaml 的设计器视图中,选择“页面标题”,然后在“文本”属性中或直接在 XAML 中将该标题文本更改为“second page”。
在页面之间导航
本节将向您演示如何在 MainPage.xaml 和 SecondPage.xaml 之间进行前后导航。
在页面之间导航
在 MainPage.xaml 中,将“工具箱”中的 HyperlinkButton 控件拖动到设计器界面。选择该控件并将“内容”属性更改为“Navigate to Second Page”,或者直接在 XAML 中进行更改。您可能需要扩展控件宽度才能看到所有文本。双击超链接按键以便添加超链接点击事件的事件处理程序。将打开 MainPage.xaml.cs 文件。
为 hyperlinkButton1_Click 事件处理程序添加以下代码:
C#
private void hyperlinkButton1_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative)); }
注意: |
---|
您还可以在 MainPage.xaml 中,通过将超链接控件的“NavigateUri”属性设置为第二页来完成上述操作。例如:NavigateUri = “/SecondPage.xaml” |
双击按键以便添加按键点击事件的事件处理程序。将打开 SecondPage.xaml.cs 文件。
为 button1_Click 事件处理程序添加以下代码:
C#
private void button1_Click(object sender, RoutedEventArgs e) { NavigationService.GoBack(); }
通过选择“调试 | 启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用。
在运行应用时,您会看到应用包含两个页面:main page 和 second page。您可以使用包含已在其事件处理程序中配置的目标 URI 的超链接来从 main page 导航到 second page。通过使用导航服务的
GoBack() 方法,您可以从 second page 返回 main page。
注意: |
---|
尽管本示例中使用了 GoBack() 方法,硬件“返回”按钮也有返回到上一页的作用。 |
传递参数
在本节中,将从一个页面获取文本,并将文本添加到另一个页面的文本块控件。将使用上一个项目完成下面的过程。
在页面之间传递字符串数据
在 MainPage.xaml 中,将“工具箱”中的 TextBox 控件和Button 控件拖动到设计器界面,并且将控件并列放置。清除控件属性内的 TextBox 控件的已有文本。对于
Button 控件,将控件重新命名为 passParam,并在控件属性中或直接在 XAML 中将按钮文本更改为“Go”。
双击 Go 按键以便添加按键点击事件的事件处理程序。将打开 MainPage.xaml.cs 文件。
为 passParam_Click 事件处理程序添加以下代码:
C#
private void passParam_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/SecondPage.xaml?msg=" + textBox1.Text, UriKind.Relative)); }
注意: |
---|
本行代码将用于导航到第二页内容,并传递在新建的 TextBox 中输入的字符串数据。 |
TextBlock 控件的已有文本。为了方便查看,可能需要扩展控件的高度和宽度并选择更大的字体大小。另外,对于本示例,将已创建的
TextBlock 命名为“textBlock1”。
在 SecondPage.xaml.cs 中,创建下列方法:
C#
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); string msg = ""; if (NavigationContext.QueryString.TryGetValue("msg", out msg)) textBlock1.Text = msg; }
通过选择“调试 | 启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用。
在 main page 中,在 TextBox 控件中输入一些文本,然后点按“Go”。当到达
second page 时,您键入的文本将显示在 second page 的
TextBlock 控件中。
相关文章推荐
- Windows Phone 系列- 如何在 Windows Phone 中执行页面导航
- [Windows Phone 7]如何导航页面和页面间传值
- windows phone 页面导航(6)
- Windows Phone 8.1中页面导航切换动画特效
- Windows phone开发初体验之(二)-页面导航
- 记录:java执行mysql语句查询字段类型:timestamp返回页面显示会多出个 .0,自己如何处理的
- Windows Phone7天初学(2):页面导航
- asp.net mvc 如何在执行完某任务后返回原来页面
- Windows Phone 8.1 页面导航
- asp.net mvc 如何在执行完某任务后返回原来页面
- jsp如何获取url中的参数并且防止中文乱码以及如何先执行servletzai执行jsp页面
- Windows phone开发初体验之-页面导航
- 如何使用 Windows Phone 的后退堆栈导航
- 与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏
- Windows Phone开发之路(17) 如何在页面间共享数据
- jquery如何判断滚动条滚到页面底部并执行事件
- 如何在单击WEB控件引发页面刷新时定位页面?(不使用智能导航)
- windows phone 页面导航(6)
- 如何让ASP.NET页面执行两次Page_Load方法
- asp.net mvc 如何在执行完某任务后返回原来页面