Udostępnij za pośrednictwem


Instrukcje: Tworzenie niestandardowego szablonu działań

Niestandardowe szablony działań służą do dostosowywania konfiguracji działań, w tym niestandardowych działań złożonych, dzięki czemu użytkownicy nie muszą tworzyć poszczególnych działań indywidualnie i konfigurować ich właściwości i inne ustawienia ręcznie. Te szablony niestandardowe można udostępnić w przyborniku w Projektant przepływu pracy systemu Windows lub z projektanta ponownego hostowanego, z którego użytkownicy mogą przeciągać je na wstępnie skonfigurowaną powierzchnię projektową. Projektant przepływu pracy są dostarczane z dobrymi przykładami takich szablonów: szablon SendAndReceiveReply Projektant oraz szablon ReceiveAndSendReply Projektant w kategorii Projektant s działania obsługi komunikatów.

W pierwszej procedurze w tym temacie opisano sposób tworzenia niestandardowego szablonu działania dla działania Opóźnienie, a druga procedura opisuje krótko sposób udostępniania go w przepływie pracy Projektant w celu sprawdzenia, czy szablon niestandardowy działa.

Szablony działań niestandardowych muszą implementować element IActivityTemplateFactory. Interfejs ma jedną Create metodę, za pomocą której można tworzyć i konfigurować wystąpienia działań używane w szablonie.

Aby utworzyć szablon dla działania Delay

  1. Uruchom program Visual Studio 2010.

  2. W menu Plik wskaż pozycję Nowy, a następnie wybierz pozycję Projekt.

    Zostanie otwarte okno dialogowe Nowy projekt .

  3. W okienku Typy projektów wybierz pozycję Przepływ pracy w projektach Visual C# lub grupach języka Visual Basic w zależności od preferencji językowych.

  4. W okienku Szablony wybierz pozycję Biblioteka działań.

  5. W polu Nazwa wprowadź .DelayActivityTemplate

  6. Zaakceptuj wartości domyślne w polach tekstowych Lokalizacja i Nazwa rozwiązania, a następnie kliknij przycisk OK.

  7. Kliknij prawym przyciskiem myszy katalog References projektu DelayActivityTemplate w Eksplorator rozwiązań i wybierz polecenie Dodaj odwołanie, aby otworzyć okno dialogowe Dodawanie odwołania.

  8. Przejdź do karty .NET i wybierz pozycję PresentationFramework z kolumny Nazwa składnika po lewej stronie, a następnie kliknij przycisk OK , aby dodać odwołanie do pliku PresentationFramework.dll.

  9. Powtórz tę procedurę, aby dodać odwołania do System.Activities.Presentation.dll i plików WindowsBase.dll.

  10. Kliknij prawym przyciskiem myszy projekt DelayActivityTemplate w Eksplorator rozwiązań i wybierz polecenie Dodaj, a następnie pozycję Nowy element, aby otworzyć okno dialogowe Dodawanie nowego elementu.

  11. Wybierz szablon Klasa, nadaj mu nazwę MyDelayTemplate, a następnie kliknij przycisk OK.

  12. Otwórz plik MyDelayTemplate.cs i dodaj następujące instrukcje.

    //Namespaces added
    using System.Activities;
    using System.Activities.Statements;
    using System.Activities.Presentation;
    using System.Windows;
    
  13. Zaimplementuj klasę IActivityTemplateFactoryMyDelayActivity za pomocą następującego kodu. Spowoduje to skonfigurowanie opóźnienia w czasie trwania 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. Wybierz pozycję Kompiluj rozwiązanie z menu Kompilacja, aby wygenerować plik DelayActivityTemplate.dll.

Aby udostępnić szablon w Projektant przepływu pracy

  1. Kliknij prawym przyciskiem myszy rozwiązanie DelayActivityTemplate w Eksplorator rozwiązań i wybierz polecenie Dodaj, a następnie pozycję Nowy projekt, aby otworzyć okno dialogowe Dodawanie nowego projektu.

  2. Wybierz szablon Aplikacja konsoli przepływu pracy, nadaj mu CustomActivityTemplateAppnazwę , a następnie kliknij przycisk OK.

  3. Kliknij prawym przyciskiem myszy katalog References projektu CustomActivityTemplateApp w Eksplorator rozwiązań i wybierz polecenie Dodaj odwołanie, aby otworzyć okno dialogowe Dodawanie odwołania.

  4. Przejdź do karty Projekty i wybierz pozycję DelayActivityTemplate z kolumny Nazwa projektu po lewej stronie, a następnie kliknij przycisk OK , aby dodać odwołanie do pliku DelayActivityTemplate.dll utworzonego w pierwszej procedurze.

  5. Kliknij prawym przyciskiem myszy projekt CustomActivityTemplateApp w Eksplorator rozwiązań i wybierz polecenie Kompiluj, aby skompilować aplikację.

  6. Kliknij prawym przyciskiem myszy projekt CustomActivityTemplateApp w Eksplorator rozwiązań i wybierz polecenie Ustaw jako projekt startowy.

  7. Wybierz pozycję Rozpocznij bez debugowania z menu Debugowanie i naciśnij dowolny klawisz, aby kontynuować po wyświetleniu monitu w oknie cmd.exe.

  8. Otwórz plik Workflow1.xaml i otwórz przybornik.

  9. Znajdź szablon MyDelayActivity w kategorii DelayActivityTemplate. Przeciągnij go na powierzchnię projektową. Potwierdź w oknie Właściwości , że Duration właściwość została ustawiona na 10 sekund.

Przykład

Plik MyDelayActivity.cs powinien zawierać następujący 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)

            };
        }
    }
}

Zobacz też