using Prism.Dialogs; using Prism.Mvvm; using System; using System.Windows.Threading; namespace YY.Admin.ViewModels.Dialogs { public class SuccessDialogViewModel : BindableBase, IDialogAware { public string Title => "成功"; private string _message; public string Message { get => _message; set => SetProperty(ref _message, value); } // Prism.Dialogs 版本的 RequestClose 是属性,不是 event public DialogCloseListener RequestClose { get; private set; } public SuccessDialogViewModel() { // 自动关闭定时器 var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1.5) }; timer.Tick += (s, e) => { timer.Stop(); RequestClose.Invoke(new DialogResult(ButtonResult.OK)); }; timer.Start(); } public bool CanCloseDialog() => true; public void OnDialogOpened(IDialogParameters parameters) { Message = parameters.GetValue("message"); } public void OnDialogClosed() { } } }