1

我想将导航服务传递给我的用户控件。在我的应用程序方面

<myControl:Test  NavigationService="{Binding NavigationService}"/>/>

在我的 Usercontrol CS 端

 public NavigationService NavigationService { get; set; }

但它似乎有效,应用程序一加载就崩溃。

4

1 回答 1

1

这真的很苛刻......好吧,你没有提到这一点,但我想,你试图解决从 UserControl 导航到其他页面/uc 的问题(是真的吗?)。

几个编辑:

  1. 首先,您不需要类的对象来使用 NavigationService。
  2. 其次, NavigationService 最常与pages一起使用。

如果您确实将它与 UserControl 一起使用,您应该将页面实例转移到控件。但是,根据我的经验,通常这不是必需的。我宁愿建议这样做:

在您的 UserControl 中,您肯定会拥有带有点击/单击事件的控件。无需在用户控件类中描述它们的逻辑。当您将用户控件添加到页面时,您应该在那里声明它。像:

someUserControl.buttonNavigate.MouseLeftButtonUp += new MouseButtonEventHandler(buttonNavigate_Click);

然后你就可以使用导航服务了。

NavigationService.Navigate(new Uri(...));

这是最简单的解决方案。希望能帮助到你。

还有其他的,但我希望这个能解决问题。

于 2013-02-05T10:47:32.747 回答