Silverlight 在特定全景/透视项目中返回?
我想知道当用户按下“后退按钮”进入WP7SDK上的特定透视或全景项目时是否可能 可以通过在页面中实现Silverlight 在特定全景/透视项目中返回?,silverlight,windows-phone,pivot,back-button,panorama-control,Silverlight,Windows Phone,Pivot,Back Button,Panorama Control,我想知道当用户按下“后退按钮”进入WP7SDK上的特定透视或全景项目时是否可能 可以通过在页面中实现OnBackKeyPress覆盖来实现此方法,但是,这与Windows Phone 7应用程序中的后退按钮行为不一致。后退按钮应该只用于在应用程序的页面堆栈中向后导航,然后离开应用程序在应用程序堆栈中向后导航。实施任何其他行为都是违反直觉的,而且很可能无法通过认证。可以通过在页面中实施OnBackKeyPress覆盖来实施此方法,但是,这与Windows Phone 7应用程序中的后退按钮行为不一
OnBackKeyPress
覆盖来实现此方法,但是,这与Windows Phone 7应用程序中的后退按钮行为不一致。后退按钮应该只用于在应用程序的页面堆栈中向后导航,然后离开应用程序在应用程序堆栈中向后导航。实施任何其他行为都是违反直觉的,而且很可能无法通过认证。可以通过在页面中实施OnBackKeyPress
覆盖来实施此方法,但是,这与Windows Phone 7应用程序中的后退按钮行为不一致。后退按钮应该只用于在应用程序的页面堆栈中向后导航,然后离开应用程序在应用程序堆栈中向后导航。实施任何其他行为都会违反直觉,而且很可能会导致认证失败。您可以通过覆盖on navigatedfrom
和on navigatedto
事件并使用PhonePageApplication.State
属性存储用户信息,确保用户始终返回到他们留下的项目所选项目。即使应用程序在另一个页面上被删除,这也会起作用
比如:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
State.Add("selectedPivot", myPivot.SelectedIndex);
base.OnNavigatedFrom(e);
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
myPivot.SelectedIndex = (int)State["selectedPivot"];
base.OnNavigatedTo(e);
}
请注意,以上内容未经测试,需要额外检查和错误处理,等,但应该足以让您开始。您可以通过覆盖
on navigated from
和on navigated to
事件并使用PhonePageApplication.State
属性存储所选项目,确保用户始终返回到他们留下的项目。即使应用程序在另一个页面上被删除,这也会起作用
比如:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
State.Add("selectedPivot", myPivot.SelectedIndex);
base.OnNavigatedFrom(e);
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
myPivot.SelectedIndex = (int)State["selectedPivot"];
base.OnNavigatedTo(e);
}
请注意,以上内容未经测试,需要额外的检查和错误处理等,但应足以让您开始。你好,德里克,我知道如何覆盖onBackKeypress,但这不是直观的,即在PivotItem3中,用户进入菜单,然后按下back按钮,然后返回PivotItem1(默认)。我希望你已经了解我后退按钮应该只用于在页面堆栈中向后导航,并取消上下文菜单、消息框、,等等。如果我的答案还不令人满意,也许你可以用更多的细节来更新你的问题,关于你正在努力实现的目标,以及什么不起作用。好吧,我已经在我的应用程序中设置了4个项目:第一个是新闻,第二个是图片,第三个是链接,第四个是信用。如果用户进入“链接部分”,然后按下后退按钮,他将返回“新闻”部分,这是不符合逻辑的。我想在这种情况下,当用户按下后退按钮,他走在前面的“链接”项目。ty代表你的耐心,所以这不是后退按钮的作用。用户必须使用标准的左右轻弹手势在
Pivot
控件中的项目之间切换。正如我在最初的回答中所说,通过使用后退按钮来实现这一点对用户来说是违反直觉的,并且几乎肯定不会通过认证。为了更好地理解,我上传了一张图片(我的英语不是那么流利)。所以我的问题是:用户在pivot项目4中,他进入菜单,在菜单中有很多页面,他按下一次,他在菜单开始处,然后我想如果他再次按下,他将直接重定向到项目pivot 4,而不是项目pivot 1中。tyhello derek,我知道如何覆盖onBackKeypress,但这不是直观的,即在PivotItem3中,用户进入菜单,然后按下back按钮,然后返回PivotItem1(默认)。我希望你已经了解我后退按钮应该只用于在页面堆栈中向后导航,并取消上下文菜单、消息框、,等等。如果我的答案还不令人满意,也许你可以用更多的细节来更新你的问题,关于你正在努力实现的目标,以及什么不起作用。好吧,我已经在我的应用程序中设置了4个项目:第一个是新闻,第二个是图片,第三个是链接,第四个是信用。如果用户进入“链接部分”,然后按下后退按钮,他将返回“新闻”部分,这是不符合逻辑的。我想在这种情况下,当用户按下后退按钮,他走在前面的“链接”项目。ty代表你的耐心,所以这不是后退按钮的作用。用户必须使用标准的左右轻弹手势在Pivot
控件中的项目之间切换。正如我在最初的回答中所说,通过使用后退按钮来实现这一点对用户来说是违反直觉的,并且几乎肯定不会通过认证。为了更好地理解,我上传了一张图片(我的英语不是那么流利)。所以我的问题是:用户在pivot项目4中,他进入菜单,在菜单中有很多页面,他按下一次,他在菜单开始处,然后我想如果他再次按下,他将直接重定向到项目pivot 4,而不是项目pivot 1中。可能重复的@RowlandShaw的不可输入副本这适用于Pivot(如示例中所示)。您可以为pano设置DefaultIndex,但这有副作用。@RowlandShaw这适用于Pivot(如示例中所示)。您可以为全景设置DefaultIndex,但这有副作用。