【发布时间】:2013-12-06 09:20:15
【问题描述】:
嘿希望有人能帮忙。
我在小组中开发了许多不同的项目,我们现在想将这些结合起来。因此,我将这些项目包括在内。 在启动项目中,我包括对其他项目的引用。 然后我使用另一个stackoverflow线程的代码:
How to navigate to view from another project
这给了我以下内容
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")));
}
}
}
我插入星星的那条线就是它中断的地方。我需要做什么才能让它发挥作用?
额外
正如 cmets 中所说,我需要在组件之前包含一个正斜杠“/”,这很奇怪,因为它没有在任何地方使用,否则就像上面的链接和这个链接一样
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,我需要另一个解决方案。希望有人对此有想法。 另一种解决方案 如下面的答案所述,您可以使用以下内容 解决方案一:
您使用相同类型的项目“Windows Phone App”。在解决方案中,您需要有一个 Windows Phone App 项目,而其他项目应为 Windows Phone 类库类型。
然后您可以使用这行代码导航到同一解决方案内的另一个项目中查看:
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
在项目之间导航。但是,您在生成的 xaml 文件 FILENAME.g.cs 中会出现错误,它会在其中插入行 loadcomponent。据我所知,由于数据上下文将视图连接到视图模型,因此发生错误。而且我一直没能解决。
希望有人对此有解决方案吗?
【问题讨论】:
-
在组件之前添加/
-
@techloverr 谢谢你,解决了错误,但现在我在 RootFrame_NavigationFailed 中遇到另一个错误。 “未找到 XAML……”。我的启动项目是TestUserControls,我想去的项目是MVVMTestApp,以及我上面展示的路径。这个错误的任何想法?这个错误是在我想去的项目的 app.xaml.cs 文件中发现的?
-
这是你的启动页面
-
@techlorr 我从项目 TestUserControl 开始。第1页:FirstPage,导航到第2页:AnimationPage,我在其中做一些启动动画,第3页:菜单概述。在菜单中,我单击一个按钮并使用导航服务转到新项目 MVVMTestApp。并且出现了新的错误。
-
在MVVMTestApp中,视图在哪里?
标签: c# visual-studio-2012 mvvm windows-phone-8 navigationservice