【问题标题】:Button Click will not navigate to a new WPF page按钮单击不会导航到新的 WPF 页面
【发布时间】:2013-12-20 22:36:49
【问题描述】:

我无法弄清楚为什么我的按钮单击没有导航到新页面。我尝试过几种方法编写此代码,但没有一种方法有效。 EnlargedScreenCap 是一个 WPF 页面,与我要加载它的窗口位于同一目录中。

    private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        NavigationService nav = NavigationService.GetNavigationService(this);
        ImageSource image = sender as ImageSource;
        EnlargedScreenCap esc = new EnlargedScreenCap();
        esc.SetImage(image);
        nav.Navigate(esc);
    }

这样写我得到一个空引用异常,因为NavigationService 没有被初始化。

        private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        ImageSource image = sender as ImageSource;
        EnlargedScreenCap esc = new EnlargedScreenCap();
        esc.SetImage(image);
        NavigationService nav = NavigationService.GetNavigationService(this);
        nav.Navigate(new Uri("//EnlargedScreenCap.xaml"), UriKind.RelativeOrAbsolute);
    }

当像上面的代码那样编写时,我得到一个无效的 URI 错误,尽管nav 仍然为空。

我试着四处搜索,这个问题已经被提出了很多次,但似乎没有人有一个像样的解释或至少一个我能够成功申请的解释。

有人能指出我正确的方向吗?

【问题讨论】:

    标签: c# wpf navigationservice


    【解决方案1】:

    我认为您不应该按照自己的方式创建 NavigationService。此外,如果您想启用导航,所有这些都应该在 Frame 中完成

    <Frame x:Name="_mainFrame" />
    

    然后你可以做类似的事情

    _mainFrame.NavigationService.Navigate(new Uri("EnlargedScreenCap.xaml", UriKind.Relative));
    

    前面没有双斜线。

    查看这篇文章。 http://paulstovell.com/blog/wpf-navigation

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2023-03-28
      • 2021-09-30
      相关资源
      最近更新 更多