mirror of
https://github.com/PrismLibrary/Prism.git
synced 2026-10-29 05:26:34 +08:00
52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
using Prism.Commands;
|
|
using Prism.Mvvm;
|
|
using Prism.Dialogs;
|
|
using System;
|
|
|
|
namespace HelloWorld.Dialogs
|
|
{
|
|
public class DialogViewModelBase : BindableBase, IDialogAware
|
|
{
|
|
private DelegateCommand<string> _closeDialogCommand;
|
|
public DelegateCommand<string> CloseDialogCommand =>
|
|
_closeDialogCommand ?? (_closeDialogCommand = new DelegateCommand<string>(CloseDialog));
|
|
|
|
private string _title;
|
|
public string Title
|
|
{
|
|
get { return _title; }
|
|
set { SetProperty(ref _title, value); }
|
|
}
|
|
|
|
public DialogCloseListener RequestClose { get; }
|
|
|
|
protected virtual void CloseDialog(string parameter)
|
|
{
|
|
var result = parameter?.ToLower() switch
|
|
{
|
|
"true" => ButtonResult.OK,
|
|
"false" => ButtonResult.Cancel,
|
|
_ => ButtonResult.None
|
|
};
|
|
|
|
//RequestClose.Invoke(new DialogResult(result));
|
|
RequestClose.Invoke(result);
|
|
}
|
|
|
|
public virtual bool CanCloseDialog()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public virtual void OnDialogClosed()
|
|
{
|
|
|
|
}
|
|
|
|
public virtual void OnDialogOpened(IDialogParameters parameters)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|