Freigeben über


Benutzerdefinierte zusammengesetzte Designer - Workflowelementpräsentation

Dieses Thema gilt für Windows Workflow Foundation 4.

Der WorkflowItemPresenter ist ein Schlüsseltyp im WF-Designer-Programmiermodell, das die Erstellung einer "Ablagezone" ermöglicht, in der eine beliebige Aktivität platziert werden kann. In diesem Beispiel wird gezeigt, wie ein Aktivitätsdesigner erstellt wird, der eine solche "Ablagezone" aufweist.

Dieses Beispiel veranschaulicht Folgendes:

Veranschaulicht

  • Erstellen eines benutzerdefinierten Aktivitätsdesigners mit einem WorkflowItemPresenter.

  • Registrieren des benutzerdefinierten Designers mithilfe des Metadatenspeichers.

  • Deklaratives und imperatives Programmieren der neu gehosteten Toolbox.

Beispieldetails

Der Code für dieses Beispiel zeigt Folgendes:

  • Der benutzerdefinierte Aktivitätsdesigner wird für die SimpleNativeActivity-Klasse erstellt.

  • Die Erstellung eines benutzerdefinierten Aktivitätsdesigners mit einem 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>

Beachten Sie die Verwendung der WPF-Datenbindung zur Bindung an ModelItem.Body. ModelItem ist die Eigenschaft im WorkflowElementDesigner, die auf das zugrunde liegende Objekt verweist, für das der Designer verwendet wird, in diesem Fall SimpleNativeActivity.

So richten Sie das Beispiel ein, erstellen es und führen es aus

  1. Öffnen Sie die Projektmappe in Visual Studio 2010.

  2. Drücken Sie F5, um die Anwendung zu kompilieren und auszuführen.

Dd759032.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<Installationslaufwerk>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

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