(WF4) ModelItem, ModelItemImpl and ICustomTypeDescriptor

[Update 08/03/11: fixed a few horrible proofreading issues which slipped past my nonexistant editor] Today we’re going to explore some internal workings of ModelItem – or really its concrete subclass ModelItemImpl. ModelItemImpl is an internal class, making all of what we talk about below ‘undocumented implementation detail’, (according to some narrow view based on documenting…

1

(WF4) Showing an InArgument<bool> as a CheckBox in the Workflow Designer Property Grid

Here’s a workflow designer FAQ finally getting the attention it deserves, and helping show off how to do custom property editing in designer. “How do I show an InArgument<bool>/<enum> in the property grid as a checkbox/combobox?”   [Aside: Before we start the guide, note that actually doing the thing you are asking about has certain…

1

Fixing: An Activity Designer for InvokeAction<T>

Something that I had as a blog post was almost useful to someone. Almost, except for all the rough edges. So here is a second release of the post/code ‘An Activity Designer for InvokeAction<T>’. If you haven’t read it yet, this post will make more sense after having gone through the first one. Two main Issues…


The Workflow 4.0 Custom Activity Icon (and Toolbox Icon) FAQ

[Update: This FAQ is outdated and has be rewritten and reposted here: http://blogs.msdn.com/b/tilovell/archive/2011/08/12/wf4-toolbox-updating-the-wf4-toolbox-icon-faq-for-rehosting-and-custom-activities.aspx I’m leaving the original comments here.]

7

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…

5

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…

2

Reacting to ViewState Changes … and finally using AttachedPropertiesService

(The series: This makes Part 7 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 ]) Continuing the series about CanvasActivityDesigner and ICompositeView, I’ll focus on an important idea – writing designers which can react to…

9

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…

5

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….

4