办公室

在XAML页面之间导航:Windows Phone 7.5芒果应用程序开发 - 第21部分

Anonim

欢迎回到Windows Phone 7.5 Mango App开发系列。在上一个教程中,我们说如何将风格和主题应用于控件,在本教程中,我们将看到一种在页面之间导航并将数据从页面传递到另一个的方式。

我们在Silverlight应用程序中加载XAML页面,就像加载HTML网页浏览器中的页面。在网站中,每个网站都有自己的唯一URL(统一资源定位器),例如www.thewindowsclub.com。在Windows Phone 7.5应用程序中,我们使用超级链接的按钮控件,并将其NavigateURI属性与要加载的XAML页面的URI(统一资源标识符)一起使用。所以让我们以一个例子开始。

创建一个具有唯一名称的新项目,例如`NavigationDemo`。接下来,右键单击解决方案资源管理器中的项目名称,然后选择添加,然后选择新建项目。在添加新项目窗口中选择`Windows Phone Portrait页面`,给它一个名称,如Page1.xaml,然后单击底部的添加按钮。这将在主设计区域的一个单独的选项卡中创建一个新页面。为了清晰起见,通过更改页面标题文本块的文本属性将新页面的页面标题更改为“新页面”。接下来在MainPage.xaml选项卡中拖放设计区域中的超链接按钮。现在,在“超链接”按钮的“属性”窗口中更改NavigateUri属性。插入以下字符串

/NavigationDemo;component/Views/Page1.xaml

现在运行该应用程序并单击模拟器中显示的超链接按钮。您将从MainPage.xaml导航到Page1.xaml。

现在为了将信息从一个页面发送到另一个页面,我们使用了一个Querystring。因此,请考虑使用www.abcxyz.com/images.aspx?id=3&language=en这样的网址。这里问号后面的所有内容都称为查询字符串。您可以注意到我们有两个名称值对,即id = 3和languae = en。 &符号允许我们添加不同的信息,在这里是id和language。

现在继续我们的项目,我们将在Page1.xaml页面上拖放一个TextBlock。清除TextBlock.Text属性并在PhoneApplicationPage_Loaded事件中插入以下C#代码:

textBlock1.Text = String.Format(“Value:{0}”,NavigationContext.QueryString [“id”]);

在这段代码中,我们使用了NavigationContext,它使我们可以访问URL,特别是查询字符串。我们在方括号中指定要访问的项目

在运行应用程序之前,我们将超链接按钮的NavigateUri属性更改为以下的

/NavigationDemo;component/Views/Page1.xaml?id = 1

我们还将在MainPage.xaml中拖放另一个超链接按钮,并将其navigateUri属性设置为以下

/NavigationDemo;component/Views/Page1.xaml?id=2

现在当你运行该应用程序并单击模拟器中的超链接按钮,我们将能够看到从MainPage.xaml传递的ID的值。这就是在Windows Phone 7应用程序中进行页面之间的简单导航。继续练习,直到你做对了。现在让我们学习如何使用应用程序栏。