1

好吧,我在这类问题上看到了很多解决方案,但我就是无法解决我的问题。我在一些 wpf/mvvm 应用程序上工作。我的应用程序结构如下:

  • ViewModel 的一个项目
  • View 的一个项目
  • 一个wcf服务项目

所以问题是这样的:我需要从我的视图模型类中为我的窗口分配新的数据上下文。像这样的东西(在我的视图模型类中):

SomeWindow window = new SomeWindow();
window.DataContex = this.someViewModel;

问题是我无法访问我的视图类。我将我的视图模型的引用添加到我的视图项目中,但无法将我的视图的引用添加到我的视图模型中,因为我收到了上述错误。我该如何解决这个问题?

4

2 回答 2

3

我不明白为什么有必要在 viewModels 项目中分配数据上下文(为什么不在 Views 项目中)。但是,如果您需要这种方式,最常见的方法是为此目的创建另一个(中间)项目。这个新项目将引用 Views 项目和 ViewModels 项目。

另一方面,ViewModels 和 Views 通常在同一个项目中(只是在其他文件夹/命名空间中),所以在这种情况下,这个问题不存在。

于 2013-09-27T07:45:05.947 回答
1

视图模型不需要“知道”/引用视图。所以你不需要在你的视图模型项目中引用。

如果您想更改视图的数据上下文 - 您应该简单地更改绑定到该视图的视图模型的“工作区”属性。

于 2013-09-27T07:46:48.960 回答