我正在开发Silverlight wp7应用程序。我不确定确切如何进行导航。

我有几个PhoneApplicationPage类,其中包含几个UserControl。看来我可以使用NavigationServicePhoneApplicationPage类进行导航,但不能从UserControl类进行导航。比较可取吗?通用模式不是直接从UserControl导航,而是从PhoneApplicationPage处理吗?

目前,我有一部分内容收集的内容。每个部分在PivotItem中都有自己的PivotControl。每个部分的内容在ListBox中。我将ListBox包裹在UserControl中,以提供更多功能/管理内容。但是,看来我无法直接从此类学习。

我可以删除包装器,然后直接将功能放在透视页面中。但是,如果我想在应用程序的其他位置重复内容列表怎么办?

另外,当NavigationServiceUserControl构造时,我会将PhoneApplicationPage传递给。

最佳答案

在WPF中,这很简单:您可以在NavigationService上调用静态方法以获取答案:NavigationService.GetNavigationService(this)

不幸的是,这似乎在WP7中不可用。

取而代之的是,我想到了这个骇客……罪恶丑陋……希望有更好的东西。至少,可能您会想出一些更漂亮的东西。至少做一些空检查...

var service = ((Application.Current as App).RootFrame.Content as Page).NavigationService;

09-25 23:07