【问题标题】:Navigation Concept (User Control to Xaml page) in Windows Phone appWindows Phone 应用程序中的导航概念(用户控件到 Xaml 页面)
【发布时间】:2014-05-10 21:26:47
【问题描述】:

首先我从父页面(Xaml)调用子页面(用户控件)。然后我必须从子页面重定向或加载父页面。

RootFrame.Navigate(new Uri("/Views/pages/page1.xaml", UriKind.Relative));

我使用此代码从用户控件导航到 XAML 页面。但这不适用于 用户控制页面。所以我提到了下面的第一次工作但第二次它不会导航到 xaml(parent) 页面。

var frame = App.Current.RootVisual as PhoneApplicationFrame; frame.Navigate(new Uri("/Views/pages/page1.xaml", UriKind.Relative));

http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/how-to-navigate-to-other-page-from-a-user-control-in-windows/ 我也试过这个链接,但无法得到结果..

所以请任何人提供解决方案...

【问题讨论】:

  • 你试过NavigationService.Navigate(new Uri("/Views/pages/page1.xaml", UriKind.Relative));吗?
  • 你的任务是从一个页面导航到page1.xaml ?

标签: c# asp.net xaml windows-phone-8


【解决方案1】:

首先,用户控件不是页面。请不要这样使用它们。 UserControls 旨在成为可重复使用的部分,您可以将其放置在多个页面中。这解释了,您不能(也不应该)从 Page 导航到 UserControl。它是不可以的。

与父容器(在本例中为页面)通信的最佳方式是通过事件。当您完成用户控件中的任何活动时,您可以引发一个事件。 Page 可以监听 Activity 并关闭用户控件,并执行它需要执行的任何额外操作。

看一个例子: How do I make an Event in the Usercontrol and Have it Handeled in the Main Form?

免责声明:此示例是 Windows 窗体示例。您可以将其调整到 Windows Phone。

【讨论】:

  • 感谢您的回复.. 但 NavigationService 不接受用户控制。我的要求是我需要通过加载从我的用户控件移动到我的父页面(父页面应该重新加载 - 意味着必须在父页面中调用 OnNavigatedTo 方法)。任何其他解决方案..
  • 我将用户控件用作弹出窗口。所以在那个弹出窗口中,我在弹出窗口关闭并重新加载页面后单击了提交按钮。你能给hmnzr的链接吗..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多