private void MergeBtn_Click(object sender, RoutedEventArgs e) { SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Filter = "PowerApps app (*.msapp)|*.msapp"; saveDialog.FileName = "MergedApp"; saveDialog.Title = "Save As"; if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { MainViewModel model = this.DataContext as MainViewModel; try { var mergeDetail1 = new List <MergeDetail> { new MergeDetail { AppData = appData1, SelectedScreens = model.ScreensFromApp1.Where(s => s.IsSelected = true).Select(p => p.Screen).ToList() }, new MergeDetail { AppData = appData2, SelectedScreens = model.ScreensFromApp2.Where(s => s.IsSelected = true).Select(p => p.Screen).ToList() } }; var mergedAppPath = mergeProcessor.MergeApps(mergeDetail1, saveDialog.FileName); MessageBox.Show("The selected screens are merged and saved in " + saveDialog.FileName, "Message", MessageBoxButton.OK); System.Diagnostics.Process.Start(mergedAppPath); } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButton.OK); } } }