在C#WPF中从单独的项目打开新窗口

在C#WPF中从单独的项目打开新窗口,c#,wpf,C#,Wpf,我目前正在开发一个C#WPF项目。该解决方案有两个项目,一个名为GUI,其中包含程序的所有窗口和GUI控件;另一个名为coding,其中包含所有类和逻辑,以确保如果更改逻辑,不会影响GUI的工作 在GUI项目中,我添加了对编码项目的引用,并说使用编码,这允许我从GUI屏幕访问逻辑类 然而,如果在编码逻辑类项目中,我想从GUI项目中加载一个新窗口,那么我该如何进行这项工作。如果我尝试从编码项目添加对GUI项目的引用,它会说这无法完成,因为它创建了循环依赖关系 如何同时引用这两个项目,以便GUI可以

我目前正在开发一个C#WPF项目。该解决方案有两个项目,一个名为GUI,其中包含程序的所有窗口和GUI控件;另一个名为coding,其中包含所有类和逻辑,以确保如果更改逻辑,不会影响GUI的工作

在GUI项目中,我添加了对编码项目的引用,并说使用编码,这允许我从GUI屏幕访问逻辑类

然而,如果在编码逻辑类项目中,我想从GUI项目中加载一个新窗口,那么我该如何进行这项工作。如果我尝试从编码项目添加对GUI项目的引用,它会说这无法完成,因为它创建了循环依赖关系

如何同时引用这两个项目,以便GUI可以从编码项目访问逻辑类,并从编码项目引用GUI项目,以便编码逻辑类可以从GUI项目打开一个新窗口


谢谢你能提供的帮助

您可以通过引入第三个项目
Common
来解耦它,并将窗口和其他共享类移到其中。然后
Gui
Coding
项目可以很容易地引用
Common

顺便说一句,尝试重新思考您的设计,因为我担心
Coding
project知道
UI
实体

编辑:


在WPF中,您可以通过使用
命令将UI内容与逻辑分离,看看您是否能够实现这一点。

当我们讨论WPF和SOC“关注点分离”时,这直接将我们引向MVVM,一个简单的解释