2016-11-23 79 views
0

我从Microsoft下载了prism5.exe并将其扩展,从而留下了各种快速启动项目。我只是打开'股票'BasicMVVMQuickstart_Desktop解决方案。WPF Prism基本mvvm快速入门项目错误'开箱即用'

起初,我收到了'找不到名称空间错误'(在下面提到的同一行中,顺便提一下),但是在关闭并重新打开Visual Studio后,每一个堆栈溢出文章,我现在都会收到错误:

Your views must implement IView 

这是XAML代码,并与错误行:

enter image description here

我有参考其他堆栈溢出的问题,但仍然无法解决这个问题。

一篇文章建议升级到Prism 6.我执行了唯一的升级在NuGet中更新Microsoft.Practices.Prism.Mvvvm到1.1.1.0。

我没有在我的项目中的任何地方看到Prism.Core,所以我猜这是关于Visual Studio和我不太了解的包。无论如何,我卸载Prism.Core 4.0,然后安装Prism.Core 6.2,但由于我没有看到Prism.Core在Visual Studio中的任何地方,我不知道是否有任何改变。

因此,除了试图了解如何补救上述错误,我还想了解如何使用棱镜6而不是棱镜5.这对我来说有点困惑。

回答

1

您使用棱镜的旧版本。我会(高度)推荐从Prism团队的最新部分开始。你可以从下面的链接中获得。也有很多样品可供选择。该文档是最新的,这总是很好。这将比尝试升级从Microsoft下载的代码容易得多。该版本和最新版本之间有很多突变。

Prism Library

Prism WPF Samples

您可以从得到的NuGet棱镜,太。获取已包含IOC容器的软件包之一,如Unity(Prism.Unity)或MEF(Prism.Mef)。只是获得核心包将留下很多希望。

带有IOC的软件包包含了开始所需的所有依赖项(Prism.Core,Prism.Wpf等)。我假设你正在做一个WFP应用程序。我使用Unity版本,并且我会建议通过MEF版本,因为我发现MEF是有趣的来排除故障。尽管如此,请随你喜欢。

祝你好运!

+0

良好的联系。为了确保我明白,如果我NuGet安装prism.unity或.mef,我将拥有我需要的一切来实现给定项目的棱镜框架。我有点困惑,读了不同的地方,要求不同的NuGet包具有不同的功能 - NuGet中有很多Prism包;它似乎零碎。 >>>另外,阅读文档时遇到了一些困难。我下载了几个不同的md文件编辑器,但似乎没有显示图像。你有一个好的.md浏览器/编辑器的建议链接? – Alan

+0

这是正确的,带有IOC的软件包包含您需要的所有其他软件包;你可以开始使用这个库,而不需要任何其他的东西。至于查看文档,我只是使用我的浏览器,没有什么特别的。以PDF格式获取文档或者类似的东西会很好。 –

+0

Thx。 Re文档,我可以在IE/Chrome中打开文件,但图像不显示。我在文件中看到某种引用,但它不会导入图像。我希望找到合适的工具来打开嵌入式图像的页面。是的,我同意,pdf更好。 v5 doc非常有用。 – Alan

0

如果您使用的是Prism 5,那么只需转到view.xaml.cs并实现接口IView。像

public class MainWindow: Window, IView 
{...} 

随着棱镜6(Prism.Wpf)NuGet包,你不需要的iView实现对你的看法

+0

这太奇怪了,因为这正是MainWindow.xaml.cs已经在它里面,我没有把它放在那里。 – Alan