Magazine Internet

[WF4] ActivityDesigner Collapsable/Expandable

Publié le 05 février 2010 par Jeremy.jeanson

Par défaut, les designer d’activités n’ont pas de comportement défini fasse à la demande de l’utilisateur d’étendre ou réduire l’affichage des activités (Expand/Collape). Ceci est bien dommage.

Après avoir pas mal galéré je suis enfin arrivé à trouver comment mettre en relation l’ActivityDesigner avec la commande Collapse / Expande du designer de Workflow. En fait c’est au hazard du parcours des samples de WCF  WF4 que je suis tombé sur la solution.

Le ContentTemplate de l’ActivityDesigner n’étant pas exploitable il faut passer par un ContentPresenter et lui associer un Style disposant de 2 Templates à utiliser en fonction de l’état réduit ou étendu de l’activité.

Voici le Template que j’ai extrait et légèrement modifier. Une fois glissé dans votre designer d’activté, il suffira de remplir les Templates ;)

Xaml

<sap:ActivityDesigner.Resources>
    <DataTemplate x:Key="DataTemplateCollpased">
        <!-- Designer Collpased -->

    </DataTemplate>
    <DataTemplate x:Key="DataTemplateExpanded">
        <!-- Designer Expanded -->
        
    </DataTemplate>
    <Style x:Key="StyleCollapsable" TargetType="ContentPresenter">
        <Setter Property="ContentTemplate" Value="{DynamicResource DataTemplateCollpased}"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=ShowExpanded}" Value="true">
                <Setter Property="ContentTemplate" Value="{DynamicResource DataTemplateExpanded}"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</sap:ActivityDesigner.Resources>
<ContentPresenter Content="{Binding}" Style="{DynamicResource StyleCollapsable}"/>

Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte