好吧,我一直在关注mahapps地铁演示应用程序,我通过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,但是现在已经从Dialog打开了,我似乎无法使用上述XAML中相同的代码在MainViewModel中触发关闭Dialog的ActionCommand。
我已经被困在这里好几天了。我希望有人可以帮助我。