Procedure: Een aangepaste activiteitssjabloon maken
Aangepaste activiteitensjablonen worden gebruikt om de configuratie van activiteiten aan te passen, waaronder aangepaste samengestelde activiteiten, zodat gebruikers niet elke activiteit afzonderlijk hoeven te maken en hun eigenschappen en andere instellingen handmatig hoeven te configureren. Deze aangepaste sjablonen kunnen beschikbaar worden gesteld in de Werkset in de Windows Workflow Designer of vanuit een opnieuw gehoste ontwerper, van waaruit gebruikers ze naar het vooraf geconfigureerde ontwerpoppervlak kunnen slepen. Workflow Designer wordt geleverd met goede voorbeelden van dergelijke sjablonen: sendAndReceiveReply Template Designer en receiveAndSendReply Template Designer in de categorie Messaging Activity Designers .
In de eerste procedure in dit onderwerp wordt beschreven hoe u een aangepaste activiteitssjabloon maakt voor een vertragingsactiviteit en in de tweede procedure wordt kort beschreven hoe u deze beschikbaar maakt in een workflowontwerper om te controleren of de aangepaste sjabloon werkt.
Aangepaste activiteitssjablonen moeten de IActivityTemplateFactory. De interface heeft één Create methode waarmee u de activiteitexemplaren kunt maken en configureren die in de sjabloon worden gebruikt.
Een sjabloon maken voor de vertragingsactiviteit
Start Visual Studio 2010.
Wijs in het menu Bestand de optie Nieuw aan en selecteer Vervolgens Project.
Het dialoogvenster Nieuw project wordt geopend.
Selecteer in het deelvenster Projecttypen werkstroom in de Visual C#-projecten of Visual Basic-groeperingen, afhankelijk van uw taalvoorkeur.
Selecteer Activiteitenbibliotheek in het deelvenster Sjablonen.
Typ in
DelayActivityTemplate
het vak Naam .Accepteer de standaardwaarden in de tekstvakken Locatie - en oplossingsnaam en klik op OK.
Klik met de rechtermuisknop op de map Verwijzingen van het project DelayActivityTemplate in Solution Explorer en kies Verwijzing toevoegen om het dialoogvenster Verwijzing toevoegen te openen.
Ga naar het tabblad .NET en selecteer PresentationFramework in de kolom Component Name aan de linkerkant en klik op OK om een verwijzing naar het bestand PresentationFramework.dll toe te voegen.
Herhaal deze procedure om verwijzingen toe te voegen aan de System.Activities.Presentation.dll en de WindowsBase.dll-bestanden.
Klik met de rechtermuisknop op het project DelayActivityTemplate in Solution Explorer en kies Toevoegen en vervolgens Nieuw item om het dialoogvenster Nieuw item toevoegen te openen.
Selecteer de klassesjabloon, geef deze de naam MyDelayTemplate en klik op OK.
Open het bestand MyDelayTemplate.cs en voeg de volgende instructies toe.
//Namespaces added using System.Activities; using System.Activities.Statements; using System.Activities.Presentation; using System.Windows;
Implementeer de IActivityTemplateFactory met de
MyDelayActivity
klasse met de volgende code. Hiermee configureert u de vertraging voor een duur van 10 seconden.public sealed class MyDelayActivity : IActivityTemplateFactory { public Activity Create(System.Windows.DependencyObject target) { return new System.Activities.Statements.Delay { DisplayName = "DelayActivityTemplate", Duration = new TimeSpan(0, 0, 10) }; } }
Selecteer Build Solution in het menu Build om het DelayActivityTemplate.dll-bestand te genereren.
De sjabloon beschikbaar maken in een werkstroomontwerper
Klik met de rechtermuisknop op de oplossing DelayActivityTemplate in Solution Explorer en kies Toevoegen en vervolgens Nieuw project om het dialoogvenster Nieuw project toevoegen te openen.
Selecteer de sjabloon voor de werkstroomconsoletoepassing , geef deze
CustomActivityTemplateApp
een naam en klik op OK.Klik met de rechtermuisknop op de map Verwijzingen van het project CustomActivityTemplateApp in Solution Explorer en kies Verwijzing toevoegen om het dialoogvenster Verwijzing toevoegen te openen.
Ga naar het tabblad Projecten en selecteer DelayActivityTemplate in de kolom Projectnaam aan de linkerkant en klik op OK om een verwijzing toe te voegen naar het DelayActivityTemplate.dll bestand dat u in de eerste procedure hebt gemaakt.
Klik met de rechtermuisknop op het project CustomActivityTemplateApp in Solution Explorer en kies Build om de toepassing te compileren.
Klik met de rechtermuisknop op het project CustomActivityTemplateApp in Solution Explorer en kies Instellen als opstartproject.
Selecteer Starten zonder foutopsporing in het menu Foutopsporing en druk op een willekeurige toets om door te gaan wanneer u hierom wordt gevraagd in het venster cmd.exe.
Open het bestand Workflow1.xaml en open de werkset.
Zoek de sjabloon MyDelayActivity in de categorie DelayActivityTemplate . Sleep het naar het ontwerpoppervlak. Controleer in het venster Eigenschappen of de
Duration
eigenschap is ingesteld op 10 seconden.
Opmerking
Het bestand MyDelayActivity.cs moet de volgende code bevatten.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Namespaces added
using System.Activities;
using System.Activities.Statements;
using System.Activities.Presentation;
using System.Windows;
namespace DelayActivityTemplate
{
public sealed class MyDelayActivity : IActivityTemplateFactory
{
public Activity Create(System.Windows.DependencyObject target)
{
return new System.Activities.Statements.Delay
{
DisplayName = "DelayActivityTemplate",
Duration = new TimeSpan(0, 0, 10)
};
}
}
}