Ejemplo n.º 1
0
		public static Task<bool> ConfirmationAsync(string title, string question)
		{
			var dataContext = new ConfirmModel
			{
				Title = title,
				Question = question
			};
			var inputWindow = new ConfirmWindow
			{
				DataContext = dataContext
			};

			var tcs = new TaskCompletionSource<bool>();

			inputWindow.Closed += (sender, args) =>
			{
				if (inputWindow.DialogResult != null)
					tcs.SetResult(inputWindow.DialogResult.Value);
				else
					tcs.SetCanceled();
			};

			inputWindow.Show();

			return tcs.Task;
		}
Ejemplo n.º 2
0
        public static Task <bool> ConfirmationAsync(string title, string question)
        {
            var dataContext = new ConfirmModel
            {
                Title    = title,
                Question = question
            };

            var inputWindow = new ConfirmWindow
            {
                DataContext = dataContext
            };

            var tcs = new TaskCompletionSource <bool>();

            inputWindow.Closed += (sender, args) =>
            {
                if (inputWindow.DialogResult != null)
                {
                    tcs.SetResult(inputWindow.DialogResult.Value);
                }
                else
                {
                    tcs.SetCanceled();
                }
            };

            inputWindow.Show();

            return(tcs.Task);
        }
Ejemplo n.º 3
0
        public static Task <T> ConfirmationWithContinuation <T>(string title, string question, Func <Task <T> > onOkay, Func <Task <T> > onCancelled)
        {
            var dataContext = new ConfirmModel
            {
                Title    = title,
                Question = question
            };

            var inputWindow = new ConfirmWindow
            {
                DataContext = dataContext
            };

            var tcs = new TaskCompletionSource <T>();

            inputWindow.Closed += async(sender, args) =>
            {
                try
                {
                    var result = inputWindow.DialogResult == true ? await onOkay() : await onCancelled();

                    tcs.SetResult(result);
                }
                catch (Exception ex)
                {
                    tcs.SetException(ex);
                }
            };

            inputWindow.Show();

            return(tcs.Task);
        }
Ejemplo n.º 4
0
        public static void ConfirmationWithEvent(string title, string question, Action onOkay)
        {
            var dataContext = new ConfirmModel
            {
                Title    = title,
                Question = question
            };
            var inputWindow = new ConfirmWindow
            {
                DataContext = dataContext
            };


            inputWindow.Closed += (sender, args) =>
            {
                if (inputWindow.DialogResult == true)
                {
                    onOkay();
                }
            };

            inputWindow.Show();
        }