2010-10-16 125 views
1

我正在玩弄WP7 SDK和Prism for WP7测试版,并遇到了一个我找不出来的问题(甚至是解决方法) 。首先,我是WPF/Silverlight/WP7和Prism的新手,所以我可以忽略一些非常明显的东西。Windows Phone 7 - 使用应用程序栏和棱镜(或MVVM)

所以我有一个外壳页面,有我的区域,用于保存我的内容页面,所有这一切都很好!现在我的问题是我有一个设置控件,允许用户编辑应用程序的设置(名称,位置等)。现在我可以通过在我的一个控件上有一个按钮来将该区域管理器转换为控件,从而使这个页面可以毫无问题地工作。

但是,我想使用手机上的应用程序栏来获得按钮,但是我不能为我的生活找出如何从应用程序打开的页面中访问我的模型对象酒吧点击。我只能做一个NavigationService.Navigate()到设置页面,但WP7中的PhoneApplicationPage对象不允许在构造函数中注入(构造函数必须是无参数的),所以我不能以这种方式传入对象实例。

所以我的问题是,我如何访问(或传递)页面或控件之间的对象?

谢谢!

回答

1

在他们使用这种技术来设置格式的数据上下文它是从另一种形式的导航到之后的例子:

NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); 
FrameworkElement root = Application.Current.RootVisual as FrameworkElement; 
root.DataContext = some_object; 
+0

完美!这绝对比我想要的更丑,但是它完成了这项工作。 – doobist 2010-10-16 22:07:02

+0

顺便说一句,我会使用“FrameworkElement根=(FrameworkElement)Application.Current.RootVisual;”或者检查根目录为空。 – Sam 2010-10-18 13:29:46