none
ExpressionTextBox Binding RRS feed

All replies

  • Where there is a will, there is a way (most of the time).

    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation"

    <sapv:ExpressionTextBox
                        Expression="{Binding Path=ModelItem.YourProperty, Mode=TwoWay, Converter={StaticResource ArgumentToExpressionConverter}, ConverterParameter=In}"
                        HintText="written in background"
                        OwnerActivity="{Binding Path=ModelItem}"/>

    You may be wondering now, "What is ModelItem?" Well I like to think of it as as proxy between your viewmodel (the class you set InArgument) and the designer. But in reality its more complex. You will have to play around quite a bit with modelitem in the code behind if you want dynamic controls that can change. But if all you want is to bind an InArgument, then just see it as the way its done!

    Also, if you want to bind an OutArgument, make sure you add the following little gotcha:

    UseLocationExpression="true"   ~(its one of the properties of the ExpressionTextBox)

    https://docs.microsoft.com/en-us/dotnet/api/system.activities.presentation.model.modelitem?view=netframework-4.7.2 



    John

    Tuesday, January 29, 2019 2:32 PM