/// <summary> /// Creates a new Workflow Designer instance and loads the Default Workflow with C# Expression Editor /// </summary> private void CmdWorkflowNewCSharp(object sender, ExecutedRoutedEventArgs e) { _currentWorkflowFile = String.Empty; CustomWfDesigner.NewInstanceCSharp(); WfDesignerBorder.Child = CustomWfDesigner.Instance.View; WfPropertyBorder.Child = CustomWfDesigner.Instance.PropertyInspectorView; }
public void openFile(string filename) { using (var file = new StreamReader(filename, true)) { CustomWfDesigner.NewInstanceCSharp(filename); WfDesignerBorder.Child = CustomWfDesigner.Instance.View; WfPropertyBorder.Child = CustomWfDesigner.Instance.PropertyInspectorView; _currentWorkflowFile = filename; } }
private void SetDesigner(string filePath = null) { _wfDesigner = CustomWfDesigner.NewInstance(filePath); modelTreeManager = _wfDesigner.Context.Services.GetService <ModelTreeManager>(); if (modelTreeManager != null) { modelTreeManager.EditingScopeCompleted -= ModelTreeManager_EditingScopeCompleted; } modelTreeManager.EditingScopeCompleted += ModelTreeManager_EditingScopeCompleted; WfDesignerBorder.Child = _wfDesigner.View; WfPropertyBorder.Child = _wfDesigner.PropertyInspectorView; }
/// <summary> /// Loads a Workflow into a new Workflow Designer instance /// </summary> private void CmdWorkflowOpen(object sender, ExecutedRoutedEventArgs e) { var dialogOpen = new OpenFileDialog(); dialogOpen.Title = "Open Workflow"; dialogOpen.Filter = "Workflows (.xaml)|*.xaml"; if (dialogOpen.ShowDialog() == true) { using (var file = new StreamReader(dialogOpen.FileName, true)) { CustomWfDesigner.NewInstance(dialogOpen.FileName); WfDesignerBorder.Child = CustomWfDesigner.Instance.View; WfPropertyBorder.Child = CustomWfDesigner.Instance.PropertyInspectorView; _currentWorkflowFile = dialogOpen.FileName; } } }
/// <summary> /// Loads a Workflow into a new Workflow Designer instance /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="ExecutedRoutedEventArgs"/> instance containing the event data.</param> private void CmdWorkflowOpen(object sender, ExecutedRoutedEventArgs e) { OpenFileDialog dialogOpen = new OpenFileDialog(); dialogOpen.Title = "Open Workflow"; dialogOpen.Filter = "Workflows (.xaml, .xamlx)|*.xaml;*.xamlx"; if (dialogOpen.ShowDialog() == true) { using (StreamReader file = new StreamReader(dialogOpen.FileName, true)) { string content = file.ReadToEnd(); Regex regex = new Regex(";assembly=[^\"]*"); List <string> assemblies = regex.Matches(content).Cast <Match>().Select(x => x.Value.Replace(";assembly=", string.Empty)).Distinct().ToList(); Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (string name in assemblies) { Assembly assembly = loadedAssemblies.FirstOrDefault(x => x.FullName.Split(',')[0] == name); if (assembly == null) { OpenFileDialog dllOpen = new OpenFileDialog(); dllOpen.Title = $"Choose {name}.dll to use"; dllOpen.Filter = "Dynamic-Link Libraries (.dll)|*.dll"; if (dllOpen.ShowDialog() == true) { AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(dllOpen.FileName)); } } } CustomWfDesigner.NewInstance(dialogOpen.FileName); WfDesignerBorder.Child = CustomWfDesigner.Instance.View; WfPropertyBorder.Child = CustomWfDesigner.Instance.PropertyInspectorView; _currentWorkflowFile = dialogOpen.FileName; } } }