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

0

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…

0

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