Compartir a través de


Diseñadores compuestos personalizados - Moderador de elementos de flujo de trabajo

Este tema es aplicable a Windows Workflow Foundation 4.

WorkflowItemPresenter es un tipo de clave del modelo de programación del diseñador de WF que permite la creación de una "zona de colocación" donde se puede colocar una actividad arbitraria. En este ejemplo se muestra cómo compilar un diseñador de actividades que muestre este tipo de "zona de colocación."

En este ejemplo se explica cómo:

Demostraciones

  • Crear un diseñador de actividades personalizado con un objeto WorkflowItemPresenter.

  • Registrar el diseñador personalizado mediante el almacén de metadatos.

  • Programar el cuadro de herramientas hospedado en otro host de manera imperativa o mediante declaración.

Detalles del ejemplo

El código de este ejemplo muestra:

  • La compilación del diseñador de actividades personalizado para la clase SimpleNativeActivity.

  • La creación de un diseñador de actividades personalizado con un objeto WorkflowItemPresenter.

<sap:ActivityDesigner x:Class="Microsoft.Samples.UsingWorkflowItemPresenter.SimpleNativeDesigner"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">
    <sap:ActivityDesigner.Resources>
        <DataTemplate x:Key="Collapsed">
            <StackPanel>
                <TextBlock>This is the collapsed view</TextBlock>
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="Expanded">
            <StackPanel>
                <TextBlock>Custom Text</TextBlock>
                <sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Body, Mode=TwoWay}"
                                        HintText="Please drop an activity here" />
            </StackPanel>
        </DataTemplate>
        <Style x:Key="ExpandOrCollapsedStyle" TargetType="{x:Type ContentPresenter}">
            <Setter Property="ContentTemplate" Value="{DynamicResource Collapsed}"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=ShowExpanded}" Value="true">
                    <Setter Property="ContentTemplate" Value="{DynamicResource Expanded}"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </sap:ActivityDesigner.Resources>
    <Grid>
        <ContentPresenter Style="{DynamicResource ExpandOrCollapsedStyle}" Content="{Binding}" />
    </Grid>
</sap:ActivityDesigner>

Observe el uso del enlace de datos de WPF para establecer un enlace con ModelItem.Body. ModelItem es la propiedad de WorkflowElementDesigner que hace referencia al objeto subyacente para el que se utiliza el diseñador; en este caso, SimpleNativeActivity.

Para configurar, compilar y ejecutar el ejemplo

  1. Abra la solución en Visual Studio 2010.

  2. Presione F5 para compilar y ejecutar la aplicación.

Dd759032.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<InstallDrive>: \WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de WF y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WF\Basic\CustomActivities\CustomActivityDesigners\WorkflowItemPresenter