56 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using Prism.Services.Dialogs;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Threading.Tasks;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace DM_Weight.util
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public static class DialogServiceExtensions
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Shows a modal dialog using a <see cref="MaterialDesignThemes.Wpf.DialogHost"/>.
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="dialogService"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="name">The name of the dialog to show.</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="parameters">The parameters to pass to the dialog.</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="callback">The action to perform when the dialog is closed.</param>
							 | 
						|||
| 
								 | 
							
								        /// <exception cref="NullReferenceException">Thrown when the dialog service is not a MaterialDialogService</exception>
							 | 
						|||
| 
								 | 
							
								        public static void ShowDialogHost(this IDialogService dialogService, string name, IDialogParameters parameters, Action<IDialogResult> callback)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!(dialogService is MaterialDialogService materialDialogService))
							 | 
						|||
| 
								 | 
							
								                throw new NullReferenceException("DialogService must be a MaterialDialogService");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            materialDialogService.ShowDialogHost(name, parameters, callback);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Shows a modal dialog using a <see cref="MaterialDesignThemes.Wpf.DialogHost"/>.
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="dialogService"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="name">The name of the dialog to show.</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="parameters">The parameters to pass to the dialog.</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="callback">The action to perform when the dialog is closed.</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="windowName">The name of the <see cref="MaterialDesignThemes.Wpf.DialogHost"/> that will contain the dialog control</param>
							 | 
						|||
| 
								 | 
							
								        /// <exception cref="NullReferenceException">Thrown when the dialog service is not a MaterialDialogService</exception>
							 | 
						|||
| 
								 | 
							
								        public static void ShowDialogHost(this IDialogService dialogService, string name,
							 | 
						|||
| 
								 | 
							
								            IDialogParameters parameters, Action<IDialogResult> callback, string windowName)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!(dialogService is MaterialDialogService materialDialogService))
							 | 
						|||
| 
								 | 
							
								                throw new NullReferenceException("DialogService must be a MaterialDialogService");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            materialDialogService.ShowDialogHost(name, windowName, parameters, callback);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static void ShowDialogHost(this IDialogService dialogService, string name, IDialogParameters parameters, string windowName)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!(dialogService is MaterialDialogService materialDialogService))
							 | 
						|||
| 
								 | 
							
								                throw new NullReferenceException("DialogService must be a MaterialDialogService");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            materialDialogService.ShowDialogHost(name, parameters, windowName);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |