46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
|
|
using Prism.Dialogs;
|
|||
|
|
using Prism.Mvvm;
|
|||
|
|
using System;
|
|||
|
|
using System.Windows.Threading;
|
|||
|
|
|
|||
|
|
namespace YY.Admin.ViewModels.Dialogs
|
|||
|
|
{
|
|||
|
|
public class ErrorDialogViewModel : BindableBase, IDialogAware
|
|||
|
|
{
|
|||
|
|
public string Title => "错误";
|
|||
|
|
|
|||
|
|
private string _message;
|
|||
|
|
public string Message
|
|||
|
|
{
|
|||
|
|
get => _message;
|
|||
|
|
set => SetProperty(ref _message, value);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 用属性来实现,而不是 event
|
|||
|
|
public DialogCloseListener RequestClose { get; private set; }
|
|||
|
|
|
|||
|
|
public ErrorDialogViewModel()
|
|||
|
|
{
|
|||
|
|
// 自动关闭定时器(2秒)
|
|||
|
|
var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };
|
|||
|
|
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<string>("message");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void OnDialogClosed()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|