diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt
index bf17d2be88d..906d58ddc31 100644
--- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt
+++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt
@@ -2067,6 +2067,10 @@ Dynamo.ViewModels.DynamoViewModel.ShowOpenDialogAndOpenResultCommand.get -> Dyna
Dynamo.ViewModels.DynamoViewModel.ShowOpenDialogAndOpenResultCommand.set -> void
Dynamo.ViewModels.DynamoViewModel.ShowOpenTemplateDialogCommand.get -> Dynamo.UI.Commands.DelegateCommand
Dynamo.ViewModels.DynamoViewModel.ShowOpenTemplateDialogCommand.set -> void
+Dynamo.ViewModels.DynamoViewModel.ShowOpenDialogAndOpenResultAsyncCommand.get -> Dynamo.UI.Commands.DelegateCommand
+Dynamo.ViewModels.DynamoViewModel.ShowOpenDialogAndOpenResultAsyncCommand.set -> void
+Dynamo.ViewModels.DynamoViewModel.ShowOpenTemplateDialogAsyncCommand.get -> Dynamo.UI.Commands.DelegateCommand
+Dynamo.ViewModels.DynamoViewModel.ShowOpenTemplateDialogAsyncCommand.set -> void
Dynamo.ViewModels.DynamoViewModel.ShowPackageManagerCommand.get -> Dynamo.UI.Commands.DelegateCommand
Dynamo.ViewModels.DynamoViewModel.ShowPackageManagerCommand.set -> void
Dynamo.ViewModels.DynamoViewModel.ShowPackageManagerSearchCommand.get -> Dynamo.UI.Commands.DelegateCommand
diff --git a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs
index 38366670234..2cd04ba7d7b 100644
--- a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs
+++ b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs
@@ -2185,6 +2185,11 @@ private void ShowOpenDialogAndOpenResult(object parameter)
}
}
+ private async void ShowOpenDialogAndOpenResultAsync(object parameter)
+ {
+ UIDispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, () => ShowOpenDialogAndOpenResult(parameter));
+ }
+
private void SetDefaultInitialDirectory(DynamoOpenFileDialog _fileDialog)
{
try
diff --git a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs
index 9405cf7910f..f3d671658b3 100644
--- a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs
+++ b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs
@@ -18,6 +18,8 @@ private void InitializeDelegateCommands()
SaveCommand = new DelegateCommand(Save, CanSave);
SaveAsCommand = new DelegateCommand(SaveAs, CanSaveAs);
ShowOpenDialogAndOpenResultCommand = new DelegateCommand(ShowOpenDialogAndOpenResult, CanShowOpenDialogAndOpenResultCommand);
+ ShowOpenDialogAndOpenResultAsyncCommand = new DelegateCommand(ShowOpenDialogAndOpenResultAsync, CanShowOpenDialogAndOpenResultCommand);
+ ShowOpenTemplateDialogAsyncCommand = new DelegateCommand(ShowOpenDialogAndOpenResultAsync, CanShowOpenDialogAndOpenResultCommand);
ShowOpenTemplateDialogCommand = new DelegateCommand(ShowOpenDialogAndOpenResult, CanShowOpenDialogAndOpenResultCommand);
ShowInsertDialogAndInsertResultCommand = new DelegateCommand(ShowInsertDialogAndInsertResult, CanShowInsertDialogAndInsertResultCommand);
ShowSaveDialogAndSaveResultCommand = new DelegateCommand(ShowSaveDialogAndSaveResult, CanShowSaveDialogAndSaveResult);
@@ -99,8 +101,10 @@ private void InitializeDelegateCommands()
public DelegateCommand OpenFromJsonCommand { get; set; }
public DelegateCommand OpenIfSavedCommand { get; set; }
public DelegateCommand OpenCommand { get; set; }
+ public DelegateCommand ShowOpenDialogAndOpenResultAsyncCommand { get; set; }
public DelegateCommand ShowOpenDialogAndOpenResultCommand { get; set; }
public DelegateCommand ShowOpenTemplateDialogCommand { get; set; }
+ public DelegateCommand ShowOpenTemplateDialogAsyncCommand { get; set; }
public DelegateCommand ShowInsertDialogAndInsertResultCommand { get; set; }
public DelegateCommand WriteToLogCmd { get; set; }
public DelegateCommand PostUiActivationCommand { get; set; }
diff --git a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml
index 5e8bb76558e..eb63099df2b 100644
--- a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml
+++ b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml
@@ -114,10 +114,10 @@
Command="{Binding Path=DataContext.ShowSaveDialogAndSaveResultCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:DynamoView}}}" />
+ Command="{Binding Path=DataContext.ShowOpenDialogAndOpenResultAsyncCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type controls:DynamoView}}}" />