Ejemplo n.º 1
0
        /// <summary>
        /// Shows dialog as an asynchronous operation.
        /// </summary>
        /// <typeparam name="TEntity">The type of the t entity.</typeparam>
        /// <param name="dialog">The dialog.</param>
        /// <param name="viewmodel">The viewmodel.</param>
        private async Task CreateDialogAsync <TEntity>(Window dialog, IViewModelDialog <TEntity> viewmodel)
        {
            if (Application.Current is BaseApplication baseApplication)
            {
                dialog.XamlRoot = baseApplication.MainWindow.Content.XamlRoot;
            }

            dialog.DataContext = viewmodel;

            dialog.PrimaryButtonCommand   = viewmodel.Submit_Command;
            dialog.SecondaryButtonCommand = viewmodel.Close_Command;
            dialog.CloseButtonCommand     = viewmodel.Close_Command;

            dialog.PrimaryButtonStyle   = (Style)Application.Current.Resources["DefaultDialogButtonStyle"];
            dialog.SecondaryButtonStyle = (Style)Application.Current.Resources["DefaultDialogButtonStyle"];
            dialog.CloseButtonStyle     = (Style)Application.Current.Resources["DefaultDialogButtonStyle"];

            viewmodel.Submitted += (sender, e) => CloseDialog(dialog);
            viewmodel.Cancelled += (sender, e) => CloseDialog(dialog);
            viewmodel.Closed    += (sender, e) => CloseDialog(dialog);

            if (!viewmodel.IsInitialized)
            {
                await viewmodel.InitializeAsync();
            }

            await OpenDialogAsync(dialog);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Shows dialog as an asynchronous operation.
        /// </summary>
        /// <typeparam name="TEntity">The type of the t entity.</typeparam>
        /// <param name="dialog">The dialog.</param>
        /// <param name="viewmodel">The viewmodel.</param>
        private async Task CreateDialogAsync <TEntity>(System.Windows.Window dialog, IViewModelDialog <TEntity> viewmodel)
        {
            dialog.DataContext = viewmodel;

            viewmodel.Submitted += (sender, e) => CloseDialog(dialog);
            viewmodel.Cancelled += (sender, e) => CloseDialog(dialog);
            viewmodel.Closed    += (sender, e) => CloseDialog(dialog);

            if (!viewmodel.IsInitialized)
            {
                await viewmodel.InitializeAsync();
            }

            await OpenDialogAsync(dialog);
        }