C# 正确实施MahApp&x27的MVVM;使用MVVM灯光的对话框协调器
我目前正在使用C# 正确实施MahApp&x27的MVVM;使用MVVM灯光的对话框协调器,c#,wpf,mvvm,mvvm-light,mahapps.metro,C#,Wpf,Mvvm,Mvvm Light,Mahapps.metro,我目前正在使用MahApps和mvvmlight进行一个项目。 目前,我的解决方案分为: MyProject.Presentation,这是安装了MahApps的WPF应用程序 MyProject.Core,它是一个类库,包含MVVM Light、ViewModels、 MahApps附带了一个DialogCoordinator类和一个IDialogCoordinator接口,该接口将注入位于MyProject.Core的MyViewModels中 但是,为了像这样将IDialogCoord
MahApps
和mvvmlight
进行一个项目。
目前,我的解决方案分为:
,这是安装了MyProject.Presentation
的WPF应用程序MahApps
,它是一个类库,包含MyProject.Core
、ViewModels、MVVM Light
MahApps
附带了一个DialogCoordinator
类和一个IDialogCoordinator
接口,该接口将注入位于MyProject.Core的MyViewModels中
但是,为了像这样将IDialogCoordinator
接口注入我的ViewModels
private readonly IDialogCoordinator _dialogCoordinator;
public MyViewModel(IDialogCoordinator dialogCoordinator)
{
_dialogCoordinator = dialogCoordinator;
}
。。。我必须在我的MyProject.Core
项目上安装MahApps
,我想将其与任何UI相关的东西分开
有没有办法避免这种情况?还是我必须在这一点上妥协?
提前谢谢你 你总是可以用你自己的抽象来抽象掉抽象
也就是说,提供一个类似于IDialogCoordinator的界面,然后在UI中提供一个使用DialogCoordinator与对话框协调的实现
我是我自己的爷爷。编写自己版本的界面并使用它。在您的UI中,您可以提供一个使用MahApps协调器的实现。@非常感谢,这解决了我的问题。