C#ダイアログのViewModel内で自身のダイアログをクローズしたい
C#(Visual studio2015)で メイン画面からダイアログを表示しています。
◆メインのViewModel
Object _dialogContent;
public Object DialogContent
{
get { return _dialogContent; }
set
{
_dialogContent = value;
this.SetProperty(ref this._dialogContent, value);
}
}
private async void MyDialogShowAsync()
{
Exception excep = null;
try
{
var vm = new MyDialogViewModel();
DialogContent = new MyDialog { DataContext = vm };
await DialogHost.Show(DialogContent, "RootDialog");
excep = vm.Excep;
}
catch (InvalidOperationException)
{
}
catch (Exception ex)
{
}
GC.Collect();
}
◆ダイアログのView
Command="{x:Static DialogHost.CloseDialogCommand}"/>
Command="{x:Static DialogHost.CloseDialogCommand}"/>
ダイアログのボタンを押すとダイアログがクローズされます。
ボタンを押下した場合に、何かしらの処理を実施後にクローズしたいと考え、
◆ダイアログのViewModel
public DelegateCommand ClancelComamnd { get; set; }
public DelegateCommand OKComamnd { get; set; }
コンストラクタに以下を用意しました。
this.ClancelComamnd = new DelegateCommand(() =>
{
★①
});
this.OKComamnd = new DelegateCommand(() =>
{
★②
});
◆ダイアログのViewも以下のように修正しました。
Command="{Binding OKComamnd}"/>
Command="{Binding ClancelComamnd}"/>
ダイアログのキャンセルボタン、OKボタンを押下すると★①、★②が通ることは確認できたのですが、
その後、自身のダイアログをどのようにクローズしていいのかがわかりません。
★①、★②で何かしらを実施するとクローズは可能でしょうか?