嘿希望有人可以提供帮助.
我在小组中开发了许多不同的项目,我们现在想要将它们结合起来.因此,我包括了这些项目.在启动项目中,我包含对其他项目的引用.然后我使用另一个stackoverflow线程中的代码:
如何导航到另一个项目的视图
这给了我以下几点
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
该项目建立并运行.但是当我按下应该激活代码的按钮时,在执行该行之后/期间会出现错误.
中断错误位于MainPage.g.cs文件中,如下所示:
namespace MVVMTestApp { public partial class MainPage : Microsoft.Phone.Controls.PhoneApplicationPage { internal System.Windows.Controls.TextBlock MainPageTitle; internal System.Windows.Controls.TextBlock LEgE; private bool _contentLoaded; ////// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] public void InitializeComponent() { if (_contentLoaded) { return; } _contentLoaded = true; *******System.Windows.Application.LoadComponent(this, new System.Uri("/MVVMTestApp;component/View/MainPage.xaml", System.UriKind.Relative));** this.MainPageTitle = ((System.Windows.Controls.TextBlock)(this.FindName("MainPageTitle"))); this.LEgE = ((System.Windows.Controls.TextBlock)(this.FindName("LEgE"))); } } }
我插入星星的那条线就是它打破的地方.我需要做些什么来使它工作?
额外
正如在评论中所说,我需要在组件之前包含一个前锋"/",这是奇怪的,因为它没有在任何地方使用,否则像上面的链接和这个链接
http://www.geekchamp.com/tips/wp7-navigating-to-a-page-in-different-assembly
但是包括forwardslash我得到一个错误,那就是我没有指向任何xaml文件.排除转发,我发现XamlParseException ....
所以我仍然有导航到另一个项目中的视图的问题.
奇
我现在不必在组件之前拥有领先的前锋.只要我编写MVVMTestAppAssembly.我查看了汇编文件,找不到这个包括=?
看完msdn后我试了一下 http://msdn.microsoft.com/en-us/library/cc296240%28v=vs.95%29.aspx
但仍然没有运气,导航工作
OVerview of reference并包含元素的完整路径
一种解决方案 如一个答案中所述,一种解决方案是使用Windows phone类库.但是当我使用MVVM结构时,我无法使viewmodelLocator工作.因此,这对我来说不是解决方案.
但是如果你使用MVVM,我需要另一个解决方案.希望有人对此有所了解. 另一种解决方案 如下面的答案中所述,您可以使用以下解决方案1:
您使用相同类型的项目"Windows Phone App".在解决方案中,您需要有一个Windows Phone App项目,其他项目应该是Windows Phone Class Library类型.
然后,您可以使用以下代码行导航到在同一解决方案中的另一个项目中查看:
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
在项目之间导航.但是,在生成的xaml文件FILENAME.g.cs中出现错误,它会插入行loadcomponent.由于视图通过datacontext连接到视图模型,所以发生错误,据我所知.我一直无法解决它.
有人有一个解决方案吗?