WPF MVVM mahapps可';t关闭自定义对话框

WPF MVVM mahapps可';t关闭自定义对话框,wpf,mvvm,dialog,Wpf,Mvvm,Dialog,嗯,我一直在关注mahapps metro演示应用程序,我通过MVVM看到了自定义对话框,是的,它工作得很好,但我再次使用UserControl作为显示的自定义对话框的内容 private async void OpenUserAccountDialog() { CustomDialog = new CustomDialog() { Content = new CreateUserDialog() }; await DialogCo

嗯,我一直在关注mahapps metro演示应用程序,我通过MVVM看到了自定义对话框,是的,它工作得很好,但我再次使用UserControl作为显示的自定义对话框的内容

private async void OpenUserAccountDialog()
        {
            CustomDialog = new CustomDialog() { Content = new CreateUserDialog() };
            await DialogCoordinator.ShowMetroDialogAsync(this, CustomDialog);
        }
上面的代码工作得很好。 访问MainViewModel没有问题,我可以执行以下操作:

public ActionCommand CloseDialogCommand
        {
            get
            {
                return new ActionCommand(p => CloseDialog());
            }
        }
然后从我的XAML调用它:

Command="{Binding DataContext.CloseDialogCommand, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type views:MainWindow}}}"
现在的问题是,由于未知的原因,关闭对话框的命令不会启动(这是MainViewModel)。访问MainViewModel的过程是从UserControl到UserControl,但是现在它已经从对话框中打开了,我似乎无法在MainViewModel中启动ActionCommand,该命令使用上述XAML中的相同代码关闭对话框


我被困在这里好几天了。我希望有人能在这里帮助我。

似乎我只需要为所有这些创建一个DialogService类。我让它在MVVM中完美地工作