Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
In this task, we will run a WF program by loading it from an XAML file.
Create code to load up the workflow instance from an XAML string:
Open Program.cs file and change code as follow:
using System;
using System.Activities;
using System.Activities.Statements;
using System.IO;
using System.Collections;
using System.Text;
WF programloading, from XAML fileusing System.Activities.XamlIntegration;
namespace LoadUpWorkflowFromXML {
class Program {
static void Main(string[] args) {
string filePath= @"C:\WF4Cookbook\Chapter01\LoadUpWFFromXML\Workflow1.xaml";
string tempString="";
StringBuilder xamlWFString = new StringBuilder();
StreamReader xamlStreamReader =
new StreamReader(filePath);
while (tempString != null){
tempString = xamlStreamReader.ReadLine();
if (tempString != null) {
xamlWFString.Append(tempString);
}
}
Activity wfInstance = ActivityXamlServices.Load(
new StringReader(xamlWFString.ToString()));
WorkflowInvoker.Invoke(wfInstance);
}
}
}
We may need to change the file path according to our real environment.