Skip to content

Commit

Permalink
dialog service improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
brianlagunas committed Sep 3, 2020
1 parent 763982e commit 24b8b15
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/Wpf/Prism.Wpf/Services/Dialogs/DialogService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,23 @@ public void ShowDialog(string name, IDialogParameters parameters, Action<IDialog

void ShowDialogInternal(string name, IDialogParameters parameters, Action<IDialogResult> callback, bool isModal, string windowName = null)
{
if (parameters == null)
parameters = new DialogParameters();

IDialogWindow dialogWindow = CreateDialogWindow(windowName);
ConfigureDialogWindowEvents(dialogWindow, callback);
ConfigureDialogWindowContent(name, dialogWindow, parameters);

ShowDialogWindow(dialogWindow, isModal);
}

/// <summary>
/// Shows the dialog window.
/// </summary>
/// <param name="dialogWindow">The dialog window to show.</param>
/// <param name="isModal">If true; dialog is shown as a modal</param>
protected virtual void ShowDialogWindow(IDialogWindow dialogWindow, bool isModal)
{
if (isModal)
dialogWindow.ShowDialog();
else
Expand Down
33 changes: 33 additions & 0 deletions src/Wpf/Prism.Wpf/Services/Dialogs/IDialogServiceExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;

namespace Prism.Services.Dialogs
{
/// <summary>
/// Extensions for the IDialogService
/// </summary>
public static class IDialogServiceExtensions
{
#if !HAS_WINUI
/// <summary>
/// Shows a non-modal dialog.
/// </summary>
/// <param name="dialogService">The DialogService</param>
/// <param name="name">The name of the dialog to show.</param>
/// <param name="callback">The action to perform when the dialog is closed.</param>
public static void Show(this IDialogService dialogService, string name, Action<IDialogResult> callback)
{
dialogService.Show(name, new DialogParameters(), callback);
}
#endif
/// <summary>
/// Shows a modal dialog.
/// </summary>
/// <param name="dialogService">The DialogService</param>
/// <param name="name">The name of the dialog to show.</param>
/// <param name="callback">The action to perform when the dialog is closed.</param>
public static void ShowDialog(this IDialogService dialogService, string name, Action<IDialogResult> callback)
{
dialogService.ShowDialog(name, new DialogParameters(), callback);
}
}
}

0 comments on commit 24b8b15

Please sign in to comment.