2011-07-29 26 views
0

我有一个导航问题,我的应用程序的Forms.Name是SchoolManagement。从一种形式导航到另一种

  1. this.NavigationService.Navigate(new Uri("FormName", UriKind.Relative));
    当我使用这行代码浏览它显示SchoolManagement的错误不包含的NavigationService althogu我在aplication使用System.Windows.Navigation;添加的名称空间 的定义。

  2. NavigationService.Navigate(new Uri("formName.xaml", UriKind.Relative));
    当我使用此代码时,它显示非静态字段需要对象引用。

  3. System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://www.google.com"));
    最后代码时,我用这个及其连接到google.com,但是当我与我的形式取代它它不是导航到它。

任何人都可以请指出mistake..its紧急

感谢

回答

0

的导航服务是System.Windows.Browser.HtmlPage.Window.Navigate不同。浏览器导航将带您到一个新的网址。导航服务专门用于使用Silverlight导航服务在Silverlight应用程序中的页面之间进行切换。你是否将Silverlight项目创建为“Silverlight导航应用程序”?如果是这样,那么代码应该适合您使用NavigationService.Navigate如您所描述的。如果不是这个问题可能是您用来设置导航服务的代码。

+0

好吧,最简单的方法是将您的应用重新创建为“Silverlight导航应用”,因为它将全部为您设置。但是,如果这对您的情况不太实际,则需要确保您有“Frame”控件(可能位于MainPage.xaml中)。如果您在一个名为frame1的变量中引用了框架控件,则可以通过调用实例方法frame1.Navigate(Uri uri)来进行导航。这个uri由Frame控件中的UriMapper解释(如果你设置了一个)。另外,您创建的每个页面都应该从“页面”控件继承。 –

+0

我刚才回想起来的另一个重要部分是,如果你手动设置它,你需要在你的项目中引用System.Windows.Controls.Navigation。 NavigationService应该可以从加载到导航框架中的任何页面访问。这个网页似乎对整个系统有很好的描述:[link](http://www.silverlightshow.net/items/The-Silverlight-3-Navigation-Framework.aspx) –

相关问题