Dela via


Anvisningar: Skapa en anpassad aktivitetsmall

Anpassade aktivitetsmallar används för att anpassa konfigurationen av aktiviteter, inklusive anpassade sammansatta aktiviteter, så att användarna inte behöver skapa varje aktivitet individuellt och konfigurera sina egenskaper och andra inställningar manuellt. Dessa anpassade mallar kan göras tillgängliga i verktygslådan i Windows Workflow Designer eller från en omvärderad designer, från vilken användare kan dra dem till den förkonfigurerade designytan. Arbetsflödesdesignern levereras med bra exempel på sådana mallar: Malldesignern SendAndReceiveReply och Malldesignern ReceiveAndSendReply i kategorin Meddelandeaktivitetsdesigners.

Den första proceduren i det här avsnittet beskriver hur du skapar en anpassad aktivitetsmall för en fördröjningsaktivitet och den andra proceduren beskriver kortfattat hur du gör den tillgänglig i en arbetsflödesdesigner för att verifiera att den anpassade mallen fungerar.

Anpassade aktivitetsmallar måste implementera IActivityTemplateFactory. Gränssnittet har en enda Create metod där du kan skapa och konfigurera de aktivitetsinstanser som används i mallen.

Skapa en mall för fördröjningsaktiviteten

  1. Starta Visual Studio 2010.

  2. På Arkiv-menyn pekar du på Nytt och väljer sedan Projekt.

    Dialogrutan Nytt projekt öppnas.

  3. I fönstret Projekttyper väljer du Arbetsflöde från antingen Visual C#- projekt eller Visual Basic-grupper beroende på dina språkinställningar.

  4. I fönstret Mallar väljer du Aktivitetsbibliotek.

  5. I rutan Namn anger du DelayActivityTemplate.

  6. Acceptera standardvärdena i textrutorna Plats och Lösningsnamn och klicka sedan på OK.

  7. Högerklicka på katalogen Referenser för projektet DelayActivityTemplate i Solution Explorer och välj Lägg till referens för att öppna dialogrutan Lägg till referens.

  8. Gå till fliken .NET och välj PresentationFramework i kolumnen Komponentnamn till vänster och klicka på OK för att lägga till en referens till filen PresentationFramework.dll.

  9. Upprepa den här proceduren om du vill lägga till referenser till System.Activities.Presentation.dll- och WindowsBase.dll-filerna.

  10. Högerklicka på projektet DelayActivityTemplate i Solution Explorer och välj Lägg till och sedan Nytt objekt för att öppna dialogrutan Lägg till nytt objekt.

  11. Välj klassmallen, ge den namnet MyDelayTemplate och klicka sedan på OK.

  12. Öppna filen MyDelayTemplate.cs och lägg till följande instruktioner.

    //Namespaces added
    using System.Activities;
    using System.Activities.Statements;
    using System.Activities.Presentation;
    using System.Windows;
    
  13. IActivityTemplateFactory Implementera med MyDelayActivity -klassen med följande kod. Detta konfigurerar fördröjningen så att den har en varaktighet på 10 sekunder.

    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)
    
            };
        }
    }
    
  14. Välj Skapa lösningmenyn Skapa för att generera filen DelayActivityTemplate.dll.

Så här gör du mallen tillgänglig i en arbetsflödesdesigner

  1. Högerklicka på lösningen DelayActivityTemplate i Solution Explorer och välj Lägg till och sedan Nytt projekt för att öppna dialogrutan Lägg till nytt projekt.

  2. Välj mallen Arbetsflödeskonsolprogram , ge den CustomActivityTemplateAppnamnet och klicka sedan på OK.

  3. Högerklicka på katalogen Referenser för Projektet CustomActivityTemplateApp i Solution Explorer och välj Lägg till referens för att öppna dialogrutan Lägg till referens.

  4. Gå till fliken Projekt och välj DelayActivityTemplate i kolumnen Projektnamn till vänster och klicka på OK för att lägga till en referens till den DelayActivityTemplate.dll fil som du skapade i den första proceduren.

  5. Högerklicka på Projektet CustomActivityTemplateApp i Solution Explorer och välj Skapa för att kompilera programmet.

  6. Högerklicka på Projektet CustomActivityTemplateApp i Solution Explorer och välj Ange som startprojekt.

  7. Välj Starta utan felsökning på felsökningsmenyn och tryck på valfri tangent för att fortsätta när du uppmanas att göra det i fönstret cmd.exe.

  8. Öppna filen Workflow1.xaml och öppna verktygslådan.

  9. Leta upp mallen MyDelayActivity i kategorin DelayActivityTemplate . Dra den till designytan. Bekräfta i fönstret Egenskaper att egenskapen Duration har angetts till 10 sekunder.

Exempel

Filen MyDelayActivity.cs ska innehålla följande kod.

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)

            };
        }
    }
}

Se även