将NavigationService传递给Usercontrol windows phone 7
本文关键字:windows phone Usercontrol NavigationService | 更新日期: 2023-09-27 17:57:47
我想将导航服务传递给我的用户控件。在我的应用程序端
<myControl:Test NavigationService="{Binding NavigationService}"/>/>
在我的Usercontrol CS侧
public NavigationService NavigationService { get; set; }
但它似乎不起作用,应用程序一加载就会崩溃。
这真的很苛刻。。。好吧,你还没有提到这一点,但我想,你试图解决从UserControl导航到其他页面/uc的问题(这是真的吗?)。
几个编辑:
- 首先,您不需要类的对象来使用NavigationSevice
- 其次,NavigationService最常用于页面
如果您真的do想将其与UserControl一起使用,则应该将页面的实例转移到控件。但是,根据我的经验,这通常是不需要的。我宁愿建议这样做:
在你的UserControl中,你肯定会拥有带有点击/点击事件的控件。无需在用户控制类中描述它们的逻辑。当您将用户控件添加到页面时,应该在那里声明它。类似:
someUserControl.buttonNavigate.MouseLeftButtonUp += new MouseButtonEventHandler(buttonNavigate_Click);
然后你就可以使用导航服务了。
NavigationService.Navigate(new Uri(...));
这是最简单的解决方案。希望能有所帮助。
还有另外一个,但我希望这个能解决问题。