Benutzerdefinierte zusammengesetzte Designer - Workflowelementpräsentation
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.
Das WorkflowItemPresenter-Beispiel veranschaulicht Folgendes:
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="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://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, um eine Bindung an ModelItem.Body
auszuführen. ModelItem
ist die Eigenschaft im ActivityDesigner, die auf das zugrunde liegende Objekt verweist, für das der Designer verwendet wird; in diesem Fall SimpleNativeActivity.
Einrichten, Erstellen und Ausführen des Beispiels
Öffnen Sie die Projektmappe in Visual Studio.
Drücken Sie F5, um die Anwendung zu kompilieren und auszuführen.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für