嘿希望有人可以提供帮助。
我在小组中开发了许多不同的项目,我们现在想将这些结合起来。因此,我将这些项目包括在内。在启动项目中,我包括对其他项目的引用。然后我使用另一个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;
/// <summary>
/// InitializeComponent
/// </summary>
[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
但包括正斜杠我得到一个错误,我指向的地方不存在任何 xaml 文件。排除正斜杠,我得到一个 XamlParseException 发生......
所以我仍然有导航到另一个项目中的视图的问题。
奇怪的
我现在不必在组件之前有前导正斜杠。只要我写 MVVMTestAppAssembly。我查看了汇编文件,找不到这个包含的=?
我在查看 msdn http://msdn.microsoft.com/en-us/library/cc296240%28v=vs.95%29.aspx后尝试了一下
但仍然没有运气,让导航工作
参考概述并包含元素的完整路径
一种解决方案 如一个答案中所述,一种解决方案是使用 windows phone 类库。但是当我使用 MVVM 结构时,我无法让 viewmodelLocator 工作。因此,这不是我的解决方案。
但是如果你使用 MVVM,我需要另一个解决方案。希望有人对此有想法。 另一种解决方案 如下面的答案所述,您可以使用以下解决方案1:
您使用相同类型的项目“Windows Phone App”。在解决方案中,您需要有一个 Windows Phone App 项目,而其他项目应为 Windows Phone 类库类型。
然后,您可以使用这行代码导航到同一解决方案中的另一个项目中查看:
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
在项目之间导航。但是,您在生成的 xaml 文件 FILENAME.g.cs 中会出现错误,它会在其中插入行 loadcomponent。据我所知,由于数据上下文将视图连接到视图模型,因此发生错误。我一直无法解决它。
希望有人对此有解决方案吗?