public async Task ShowDialog(DialogViewModel viewModel) { var view = ViewLocator.GetViewForViewModel(viewModel); var dialog = view as BaseMetroDialog; if (dialog == null) { throw new InvalidOperationException(String.Format("The view {0} belonging to view model {1} does not inherit from {2}", view.GetType(), viewModel.GetType(), typeof(BaseMetroDialog))); } var firstMetroWindow = Application.Current.Windows.OfType <MetroWindow>().First(); await firstMetroWindow.ShowMetroDialogAsync(dialog); await viewModel.Task; await firstMetroWindow.HideMetroDialogAsync(dialog); }
public Task <TResult> ShowFlyout <TResult>(DialogViewModel <TResult> viewModel) { ShowFlyoutInternal(viewModel); return(viewModel.Task); }
public Task ShowFlyout(DialogViewModel viewModel) { ShowFlyoutInternal(viewModel); return(viewModel.Task); }