Ejemplo n.º 1
0
        public async Task ShowDialogAsync(DialogViewModel viewModel, MetroDialogSettings settings = null)
        {
            var view = ViewLocator.GetViewForViewModel(viewModel);

            var dialog = view as BaseMetroDialog;

            if (dialog == null)
            {
                throw new InvalidOperationException($"The view {view.GetType()} belonging to view model {viewModel.GetType()} does not inherit from {typeof(BaseMetroDialog)}");
            }

            dialog.Resources.MergedDictionaries.Add(new ResourceDictionary {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/FlatButton.xaml")
            });

            var firstMetroWindow = Application.Current.Windows.OfType <MetroWindow>().First();
            await firstMetroWindow.ShowMetroDialogAsync(dialog, settings);

            await viewModel.Task;
            await firstMetroWindow.HideMetroDialogAsync(dialog, settings);
        }
Ejemplo n.º 2
0
 public Task ShowFlyout(DialogViewModel viewModel)
 {
     ShowFlyoutInternal(viewModel);
     return(viewModel.Task);
 }
Ejemplo n.º 3
0
 public Task <TResult> ShowFlyout <TResult>(DialogViewModel <TResult> viewModel)
 {
     ShowFlyoutInternal(viewModel);
     return(viewModel.Task);
 }
Ejemplo n.º 4
0
 public Task ShowFlyout(DialogViewModel viewModel, Position position = Position.Right)
 {
     ShowFlyoutInternal(viewModel, position);
     return(viewModel.Task);
 }
Ejemplo n.º 5
0
 public Task <TResult> ShowFlyout <TResult>(DialogViewModel <TResult> viewModel, Position position = Position.Right)
 {
     ShowFlyoutInternal(viewModel, position);
     return(viewModel.Task);
 }