我想将导航服务传递给我的用户控件。在我的应用程序方面
<myControl:Test NavigationService="{Binding NavigationService}"/>/>
在我的 Usercontrol CS 端
public NavigationService NavigationService { get; set; }
但它似乎有效,应用程序一加载就崩溃。
我想将导航服务传递给我的用户控件。在我的应用程序方面
<myControl:Test NavigationService="{Binding NavigationService}"/>/>
在我的 Usercontrol CS 端
public NavigationService NavigationService { get; set; }
但它似乎有效,应用程序一加载就崩溃。
这真的很苛刻......好吧,你没有提到这一点,但我想,你试图解决从 UserControl 导航到其他页面/uc 的问题(是真的吗?)。
几个编辑:
如果您确实想将它与 UserControl 一起使用,您应该将页面实例转移到控件。但是,根据我的经验,通常这不是必需的。我宁愿建议这样做:
在您的 UserControl 中,您肯定会拥有带有点击/单击事件的控件。无需在用户控件类中描述它们的逻辑。当您将用户控件添加到页面时,您应该在那里声明它。像:
someUserControl.buttonNavigate.MouseLeftButtonUp += new MouseButtonEventHandler(buttonNavigate_Click);
然后你就可以使用导航服务了。
NavigationService.Navigate(new Uri(...));
这是最简单的解决方案。希望能帮助到你。
还有其他的,但我希望这个能解决问题。