Visual studio Can';是否使用相对路径导航到同一文件夹中的文件?

Visual studio Can';是否使用相对路径导航到同一文件夹中的文件?,visual-studio,silverlight,windows-phone-8,Visual Studio,Silverlight,Windows Phone 8,我完全被这个看似简单的错误弄糊涂了。我无法使用此代码导航到同一文件夹中的文件 NavigationService.Navigate(new Uri("Rotate.xaml", UriKind.Relative)); 我也试过了 NavigationService.Navigate(new Uri("/Rotate.xaml", UriKind.Relative)); 但是,当我将正在处理的文件移动到主项目文件夹,然后使用此导航代码时 NavigationService.Navigate(n

我完全被这个看似简单的错误弄糊涂了。我无法使用此代码导航到同一文件夹中的文件

NavigationService.Navigate(new Uri("Rotate.xaml", UriKind.Relative));
我也试过了

NavigationService.Navigate(new Uri("/Rotate.xaml", UriKind.Relative));
但是,当我将正在处理的文件移动到主项目文件夹,然后使用此导航代码时

NavigationService.Navigate(new Uri("/Pages/Rotate.xaml", UriKind.Relative));
它起作用了!为什么当我在同一个文件夹中时不能导航到该文件,但当我在主项目文件夹中时可以导航到该文件


为了让您更好地了解我的解决方案资源管理器的视图。此视图对应于前两种情况。在第三种情况下,我将PictureSelect.xaml文件放在Pages文件夹之外,并尝试导航到Rotate.xaml文件

我无法使用此代码导航到同一文件夹中的文件

导航器使用的路径与当前目录无关。Silverlight中没有像windows应用程序中那样的概念

导航器使用该路径在xap中查找资源文件。因此,您必须始终使用完整路径,即“/Pages/Rotate.xaml”,使用前导正斜杠告诉SL开始查看根

此外,BuildAction的设置也会影响文件在编译时的放置位置

为了更好地理解这一点,请解压缩xap文件夹,您可以看到项目的实际位置及其查看位置

有时使用相对位置似乎有效,但它很容易被破坏,我避免使用它

格雷格