0
void RecordButton_Click(object sender, EventArgs e)
{
    NavigationService.Navigate(new Uri("/RecordAudio.xaml",UriKind.Relative));
}

在上面的代码中,NavigationService 是一个类还是 NavigationService 类型的对象?.

如果它是一个类。那么 Navigate() 是静态方法吗?

如果它是一个对象。为什么我们没有使用 new 操作符实例化 NavigateService 类?

4

3 回答 3

0

NavigationService是一个非静态类,它的方法也是Navigate。由于该方法是非静态的,因此您需要创建该类的一个对象。但是 NavigationService 类会在应用程序运行时自动实例化,并作为属性附加到 Frame 对象,因此单个框架中的所有 Page Object 都可以使用该类。

参考

用于了解页面框架内容和类 NavigationService 的角色之间的区别。

链接到相关问题

链接到相关问题

于 2014-01-16T10:24:40.553 回答
0

据我所知: NavigationService 类“属于”您最近访问的页面,并且从未“单独”使用它。您可以使用它的方法,例如使用navigate。该页面在某时得到通知。新是要展示的。

于 2014-01-16T09:01:22.960 回答
0

正如@VahidNd 所说 - 使用 F12 (如果你使用 VS)。为了澄清它是这样的:(
PhoneApplicationPage你使用的)基类是Page

public class PhoneApplicationPage : Page
{
 // content
}

public class Page : UserControl
{
    public NavigationCacheMode NavigationCacheMode { get; internal set; }
    public NavigationContext NavigationContext { get; }
    public NavigationService NavigationService { get; }
    public string Title { get; set; }

    protected virtual void OnFragmentNavigation(FragmentNavigationEventArgs e);
    protected virtual void OnNavigatedFrom(NavigationEventArgs e);
    protected virtual void OnNavigatedTo(NavigationEventArgs e);
    protected virtual void OnNavigatingFrom(NavigatingCancelEventArgs e);
}

你可以看到它有一个NavigationService类型的属性,NavigationService它是 System.Windows.Navigation 中的一个类。
当您使用此 F12 键时,您可以看到这些依赖关系 - 只需将光标的位置设置在您想要的类型/属性/内容上,然后按一下键。

于 2014-01-16T10:48:07.777 回答