我在这类问题上看到了很多解决方案,但我无法解决我的问题。我在一些wpf / mvvm应用程序上工作。我的应用程序结构如下:
所以问题是这样的:我需要从我的viewmodel类中为我的窗口分配新的datacontext。像这样(在我的视图模型类中):
SomeWindow window = new SomeWindow();
window.DataContex = this.someViewModel;
问题是我无法访问我的View类。我将viewmodel的引用添加到我的视图项目中,但是无法将我的视图引用添加到我的viewmodel中,因为我得到了上述错误。 我怎么解决这个问题?
答案 0 :(得分:3)
我无法理解为什么有必要在viewModels项目中分配数据上下文(为什么不在Views项目中)。但是如果你需要这样做,最常见的方法是为这些目的创建另一个(中间)项目。这个新项目将引用Views项目和ViewModels项目。
另一方面,ViewModel和Views通常位于同一个项目中(仅在其他文件夹/名称空间中),因此在这种情况下该问题不存在。
答案 1 :(得分:1)
viewmodel无需“知道”/引用视图。所以你在viewmodel项目中不需要引用。
如果您想更改视图的datacontext,您只需更改绑定到该视图的viewmodel的“workspace”属性。