private AsyncActivityResult SetupAsyncActivity() { var requestCode = _nextAsyncActivityRequestCode++; var result = new AsyncActivityResult(requestCode); _pendingAsyncActivities.Add(requestCode, result); return(result); }
protected override void ShowDialog() { var viewModel = ActivityArgs.GetArgs <DataItemChooserViewModel <T> >(); var window = new ViewControllerWindow { DataContext = viewModel, Content = new DataItemChooserView { Width = 300, Margin = new Thickness(10, 5, 10, 10) }, Title = viewModel.Header, }.RemoveIcon().HideMinMaxButton(); var r = window.ShowDialog(); var result = new AsyncActivityResult <DataItemChooserViewModel <T> >(r.GetValueOrDefault(false), viewModel); Completion.TrySetResult(result); }
protected override void ShowDialog() { var viewModel = ActivityArgs.GetArgs <InputBoxViewModel>() ?? new InputBoxViewModel(); var window = new ViewControllerWindow { DataContext = viewModel, Content = new InputBox { Width = 300, Margin = new Thickness(10, 5, 10, 10) }, Title = viewModel.Header, SizeToContent = SizeToContent.WidthAndHeight, ResizeMode = ResizeMode.NoResize, }.RemoveIcon().HideMinMaxButton(); var r = window.ShowDialog(); var result = new AsyncActivityResult <InputBoxViewModel>(r.GetValueOrDefault(false), viewModel); Completion.TrySetResult(result); }
private void HandleCompletedOrCanceled(DisposeManager cleanup, Window window, ProgressViewModel viewModel, IProgressItemViewModel <T> itemViewModel, bool isCompleted) { cleanup.Dispose(); window.Dispatcher.CheckedInvoke(() => { viewModel.ProgressItems.Remove(itemViewModel); if (viewModel.ProgressItems.Count == 0) { Task.Delay(1000); if (_window != null && _window.IsVisible) { viewModel.OkCommand.TryExecute(null); } _window = null; var result = new AsyncActivityResult <IProgressItemViewModel <T> >(isCompleted, itemViewModel); Completion.TrySetResult(result); } }); }