当前位置:首 页 > 攻城湿 >Windows Phone > 查看文章

Windows Phone应用程序开发人员都知道可以使用Silverlight和XNA作为开发平台,基于Silverlight的WP页面模型对许多Silverlight开发人员来说是熟悉的(如果你是新手,不妨去MSDN的Silverlight导航概述页面看看),但谈到Windows Phone平台时,还是有些不同的地方。

首先,在Windows Phone 7设备上有一个专用的“后退”硬件按键,其次,应用程序可以不按顺序调用。

有经验的应用程序开发人员可以处理好这种情景,确保应用程序自然地吻合Windows Phone 7的导航模型,提供模仿Windows Phone 7主题的过渡效果。

Windows Phone 7应用程序由称作PhoneApplicationFrame的容器元素组成,它们可以渲染PhoneApplicationPage。

当你创建默认的Windows Phone项目时,默认页面包含下面的代码:
// In App.xaml.cs

public PhoneApplicationFrame RootFrame { get; private set; }

  上面这行代码指出框架(Frame)是导航堆栈里的最顶层元素。
// In MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }
    }

44476f221759dc5e
▲图 1 框架是导航堆栈里最顶层的元素

方向变化

为了告诉应用程序必须支持不同的方向,你需要设置SupportedOrientations属性,你也可以使用Orientation属性指定当前的方向,不同方向的页面渲染方法是由设备,Windows Phone 7和应用程序共同决定的。

启动画面可以不看作是一个页面,因为它的显示时间总是很短,也不会保留应用程序的状态,错误对话框和登录页面也可以这样对待,对于短暂性UI屏幕,按下“后退”键时,默认的弹出式调用应该予以拒绝。

对于一个正常的页面,调用“后退”按键时,应用程序应该切换到前一页或退出。

如何在页面之间切换

如果想导航到一个新页面,你可以调用NavigationService.Navigate API,以目标页面的相对URL作为参数提交,例如:

NavigationService.Navigate(new Uri("/Pages/ShoppingCart.xaml", UriKind.Relative));

如果要回到前一页,你可以调用NavigationService.GoBack API,例如:

NavigationService.GoBack();

跨页面传递参数

如果要跨页面传递参数,你的URI应该包含参数,例如:
//Mainpage.xaml.cs

private void buttonNextPage_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Pages/ShoppingCart.xaml?msg=" + arg1.Value, UriKind.Relative);
}

在目标页面,需要自己写代码来处理传入的参数,例如:
//ShoppingCart.xaml.cs

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string argument = "";
if (NavigationContext.QueryString. TryGetValue("msg", out argument))
{
    textArgument.Text = argument;
}
}
这家伙很懒,什么都没写!

—— zhaorong

zhaorong
你可能也喜欢Related Posts
众说纷纭Comments
大眼 可爱 大笑 坏笑 害羞 发怒 折磨 快哭了 大哭 白眼 晕 流汗 困 腼腆 惊讶 憨笑 色 得意 骷髅 囧 睡觉 眨眼 亲亲 疑问 闭嘴 难过 淡定 抗议 鄙视 猪头
小提示:直接粘贴图片到输入框试试
努力发送中...
  1. 1 楼

    教师节,汇报老师一份成绩[标签:标题]

    2014年01月18日 02:31:03 回复 取消回复
  • 评论最多
  • 最新评论
  • 随机文章
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容
Copyright © zhaorong All Rights Reserved. 滇ICP备15006105号-1