Sdílet prostřednictvím


Postupy: Vytvoření vlastní šablony aktivity

Vlastní šablony aktivit slouží k přizpůsobení konfigurace aktivit, včetně vlastních složených aktivit, aby uživatelé nemuseli vytvářet jednotlivé aktivity jednotlivě a konfigurovat jejich vlastnosti a další nastavení ručně. Tyto vlastní šablony lze zpřístupnit v sadě nástrojů v návrháři windows workflow nebo z pře hostovaného návrháře, ze kterého je uživatelé mohou přetáhnout na předkonfigurovanou plochu návrhu. Návrhář pracovního postupu se dodává s dobrými příklady takových šablon: Návrhář šablon SendAndReceiveReply a Návrhář šablon ReceiveAndSendReply v kategorii Návrháři aktivit zasílání zpráv.

První postup v tomto tématu popisuje, jak vytvořit vlastní šablonu aktivity pro aktivitu zpoždění a druhý postup stručně popisuje, jak ho zpřístupnit v Návrháři pracovního postupu a ověřit, že vlastní šablona funguje.

Vlastní šablony aktivit musí implementovat IActivityTemplateFactory. Rozhraní má jednu Create metodu, pomocí které můžete vytvořit a nakonfigurovat instance aktivit používané v šabloně.

Vytvoření šablony pro aktivitu delay

  1. Spusťte Visual Studio 2010.

  2. V nabídce Soubor přejděte na příkaz Nový a vyberte Projekt.

    Otevře se dialogové okno Nový projekt .

  3. V podokně Typyprojektůch

  4. V podokně Šablony vyberte Knihovnu aktivit.

  5. Do pole Název zadejte DelayActivityTemplate.

  6. Přijměte výchozí hodnoty v textových polích Název umístění a řešení a klikněte na tlačítko OK.

  7. Klikněte pravým tlačítkem myši na adresář Reference projektu DelayActivityTemplate v Průzkumník řešení a zvolte Přidat odkaz a otevřete dialogové okno Přidat odkaz.

  8. Přejděte na kartu .NET a vyberte PresentationFramework ze sloupce Název komponenty na levé straně a kliknutím na TLAČÍTKO OK přidejte odkaz na soubor PresentationFramework.dll.

  9. Tento postup opakujte, pokud chcete přidat odkazy na soubory System.Activities.Presentation.dll a WindowsBase.dll.

  10. Klikněte pravým tlačítkem myši na projekt DelayActivityTemplate v Průzkumník řešení a zvolte Přidat a potom novou položku a otevřete dialogové okno Přidat novou položku.

  11. Vyberte šablonu třídy, pojmenujte ji MyDelayTemplate a klepněte na tlačítko OK.

  12. Otevřete soubor MyDelayTemplate.cs a přidejte následující příkazy.

    //Namespaces added
    using System.Activities;
    using System.Activities.Statements;
    using System.Activities.Presentation;
    using System.Windows;
    
  13. Implementujte s IActivityTemplateFactoryMyDelayActivity třídou následující kód. Tím se nakonfiguruje zpoždění na dobu trvání 10 sekund.

    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 nabídce Sestavení vyberte Sestavit řešenía vygenerujte DelayActivityTemplate.dll soubor.

Zpřístupnění šablony v Návrháři pracovního postupu

  1. Pravým tlačítkem myši klikněte na řešení DelayActivityTemplate v Průzkumník řešení a zvolte Přidat a potom Nový projekt otevřete dialogové okno Přidat nový projekt.

  2. Vyberte šablonu konzolové aplikace pracovního postupu, pojmenujte ji CustomActivityTemplateAppa klikněte na tlačítko OK.

  3. Klikněte pravým tlačítkem myši na adresář Reference projektu CustomActivityTemplateApp v Průzkumník řešení a zvolte Přidat odkaz a otevřete dialogové okno Přidat odkaz.

  4. Přejděte na kartu Projekty a v levém sloupci Název projektu vyberte DelayActivityTemplate a kliknutím na tlačítko OK přidejte odkaz na soubor DelayActivityTemplate.dll, který jste vytvořili v prvním postupu.

  5. Pravým tlačítkem myši klikněte na projekt CustomActivityTemplateApp v Průzkumník řešení a zvolte Sestavit pro kompilaci aplikace.

  6. Pravým tlačítkem myši klikněte na projekt CustomActivityTemplateApp v Průzkumník řešení a zvolte Nastavit jako spouštěný projekt.

  7. V nabídce Ladění vyberte Spustit bez ladění a po zobrazení výzvy z okna cmd.exe pokračujte stisknutím libovolné klávesy.

  8. Otevřete soubor Workflow1.xaml a otevřete panel nástrojů.

  9. Vyhledejte šablonu MyDelayActivity v kategorii DelayActivityTemplate. Přetáhněte ho na návrhovou plochu. Ověřte v okně Vlastnosti , že Duration vlastnost byla nastavena na 10 sekund.

Příklad

Soubor MyDelayActivity.cs by měl obsahovat následující kód.

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)

            };
        }
    }
}

Viz také