当您在Windows Phone中设计相对较大的应用程序时,通过Uris导航会有些痛苦,所以我编写了一个简单的方法,如下所示:

void Navigate(string Frame)
{
       NavigationService.Navigate(new Uri(string.Format("/{0}.xaml", 0), UriKind.Relative));
}


问题是,我想将此代码包含在将要进行导航的所有PhoneApplicationPages中,但是然后我想知道复制和粘贴是否是唯一的选择,我通常会尝试使我的页面派生自具有方法和基类的派生,但这将是另一个痛苦,因为PhoneApplicationPages是局部类。还有其他更好的方法可以做到这一点,还是我应该复制并粘贴?

谢谢。

最佳答案

您可以将方法拉到静态类中,然后将调用页面作为参考传递;

public static class Navigator
{
    public static void Navigate(Page page, string frame)
    {
        page.NavigationService.Navigate(new Uri(string.Format("/{0}.xaml", frame), UriKind.Relative));
    }
}


然后,您只需像这样调用:

Navigator.Navigate(this, "NewPage");

关于c# - 等价于wp7 sl吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10310936/

10-13 05:46