(WF4, Toolbox) Updating the WF4 Toolbox Icon FAQ (for Rehosting and Custom Activities)

Introit – call it whatever, but today I’m recycling an old post. And I have one more little confession. When I started writing a new rehosted app today, I found out my old toolbox FAQ was fairly useless. It was even getting to the point where someone had to post this in the forum: “I…


An Activity Designer for InvokeAction<T>

[Update! There are some bugs with the attached code, see the sequel post for discussion of bug fixes.] My workmate Ramraj mentioned that a long way back (during earlier milestones of WF 4.0) something was invented for XAML called a property reference, which was a feature that in the workflow designer would enable creating custom XAML…


Argument, Variables, Assign and Let Activity

Forum posts give me a lot of crazy ideas. This one might be a throwaway, but it’s the process of trying things out and exploring that triggers off yet more ideas. 🙂 Occasionally Workflow Foundation 4 developers feel bugged by the need for Variables. Or actually the ‘ceremony’ of using Variables for glue or piping…


Basic Activity Scheduling in Workflow 4.0

…NativeActivity. Provides all of the features of CodeActivity, plus aborting activity execution, canceling child activity execution, using bookmarks, and scheduling activities… As of .Net Fx 4.0 Beta 2, the Activity class hierarchy looks a bit like this: Actually this is only a tiny chunk of the Activity class Hierarchy, but it does include every class…


Undoable Layout for the Freeform Canvas Activity Designer (Part 6)

This is Part 6 of a series of posts on flowchart-like freeform layout activity designers, [Part 1 – Part 2 – Part 3 – Part 4 – Part 5 – Part 6  – Part 7] I’ve started varying the titles. In Parts 1-4 we began developing a freeform layout designer called CanvasDesigner. In Part 5, we…


Some Gory Details of WorkflowDesigner Undo Redo

(I’ve pulled this out from where it was embedded in one of my posts about implementing ICompositeView because it didn’t really fit there and modified it but it’s still pretty badly researched.) A few gory implementation details for the Workflow Designer’s Undo/Redo features. There are a few classes in System.Activities.Presentation.Model heavily involved in undo and…


Fun with Bookmarks: Implementing Continue and Break

A few people have noticed in the Workflow Foundation Beta 2 forums that the looping constructs provided in System.Activities.Statements such as While activity, ForEach activity, and ParallelForEach lack certain features found in their C# counterparts – there is no break or continue statement. This seemed like an interesting problem – how can we implement these missing features…


Freeform Custom Activity Designers using ICompositeView (Part 2)

This post is Part 2 of a series on writing custom activity designers. [Part 1 – Part 2 – Part 3 – Part 4 – Part 5] Last time we found out that ICompositeView.OnItemsDelete() will never get called – unless we tell our contained activities exactly which composite view they belong to. But we didn’t…


Freeform Custom Activity Designers using ICompositeView

[This post is Part 1 of a series on writing custom activity designers. Part 2 – Part 3 – Part 4 – Part 5 – Part 6 – Part 7] Motivation: Building an activity like Flowchart Creating composite activities and designers in Workflow Foundation 4.0 is really easy when you use WorkflowItemPresenter and WorkflowItemsPresenter. (Seriously….


The Trouble with System.Activities.ForEach (and ParallelForEach)

(Subtitle: Why you need IActivityTemplateFactory) Another forum post reminded me of one thing about ActivityAction that throws me for a loop every time. Every time, that is, that I’m rehosting workflow designer or creating new custom activities, so maybe not that often but it’s kind of annoying. Imagine, here’s us, creating a toolbox for our…