using Prism.Dialogs; using Prism.Mvvm; using Prism.Commands; using System; namespace YY.Admin.ViewModels.Dialogs { public class AlertDialogViewModel : BindableBase, IDialogAware { private string _message; public string Message { get => _message; set => SetProperty(ref _message, value); } public DelegateCommand CloseCommand { get; } public AlertDialogViewModel() { CloseCommand = new DelegateCommand(() => { // 调用 RequestClose 属性触发关闭 RequestClose.Invoke(new DialogResult(ButtonResult.OK)); }); } public bool CanCloseDialog() => true; public void OnDialogOpened(IDialogParameters parameters) { Message = parameters.GetValue("message"); } public void OnDialogClosed() { } public string Title => "提示"; // 这里实现的是属性,不是 event public DialogCloseListener RequestClose { get; private set; } } }