ExpressionTextBox – works on Activity properties too!

So Matt Winkler read my previous post and said hey, what about properties of type Activity<foo>, can’t they be bound to ExpressionTextBoxes too? Snap, I had forgotten about that case. The answer is actually yes, because VisualBasicValue and VisualBasicReference derive from Activity, expressions are then assignable to Activity and then the activity can be scheduled….


ExpressionTextBox – for arguments only (well mostly)

[12/19 edit: ExpressionTextBox is not strictly for arguments only, see the exception here] In a previous post I alluded to the fact that you should be able to bind an ExpressionTextBox to a CLR property. My hazy memory was that this was done at one point in time by omitting the ArgumentToExpressionConverter from the Expression…


Using untyped arguments in an ExpressionTextBox

The ExpressionTextBox sample code in the SDK works just fine in beta 2. The sample demonstrates the use of an ExpressionTextBox in a custom activity designer. In the sample, I implemented a simple MultiAssign activity, which assigns two values to two variables. In the example, I used untyped InArguments and OutArguments. That particular example was…


PDC09 – Wednesday wrapup

So the last post I wrote about session wish list was a pack of lies (well the weather report was quite valid!). I skipped the code visualization talk for Christian Schormann’s Sketchflow talk. I had been playing with Sketchflow but I had no idea you could export the entire prototype to Word to make an…


PDC09 Tuesday session wishlist

Hello from sunny Los Angeles. I’m am shocked and pleased to be reporting to you from a place in a convention hall with actual daylight streaming through windows!!! I find all the besweatered locals amusing, personally I am wishing I brought shorts and I am wondering where I can suntan on breaks. I’m planning my…


ExpressionTextBox 101

The ExpressionTextBox is the basic building block for editing expressions in custom activity designers. If you’re writing a custom activity designer that uses expressions, you’ll use this control. This post is meant to provide an overview for custom activity designer developers. I’m just going to annotate a small amount of the SDK sample and walk…


Expression editing mechanics

This is what happens when you edit an expression in Visual Studio. To simplify things, pretend you started with a blank expression. Here’s what goes on behind the scenes: When you click on an ExpressionTextBox, an instance of the hostable editor is created. As you type, you will notice two things: You have IntelliSense, completion…


Implementing a custom expression editor

I’ve seen a few forum posts about providing a richer expression editing experience in a rehosted workflow designer. There are two main scenarios in which you would want to implement your own expression editor: Work around the rather unfortunate limitation that the hostable editor is not available outside of Visual Studio, so therefore there is…


Design time expression editing 101

Here are the basic implementation details that you should know about the design time expression editing experience in the WF designer. An expression is bound to an activity argument or property. In the designer, the expressions are displayed inside of an ExpressionTextBox control. You can enter one single expression per ExpressionTextBox. Statements are not supported….


VB Expression Example: Manipulating generic lists

Let’s walk through the process of manipulating a generic list using VB expressions. Say you have added a C# class to your C# workflow project with the following code (yes, you can still use C# for all the heavy lifting): public class Person { public string Name { get; set; } public int Age {…