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
Uruchom program Visual Studio 2010.
W menu Plik wskaż pozycję Nowy, a następnie wybierz pozycję Projekt.
Zostanie otwarte okno dialogowe Nowy projekt .
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.
W okienku Szablony wybierz pozycję Biblioteka działań.
W polu Nazwa wprowadź .
DelayActivityTemplate
Zaakceptuj wartości domyślne w polach tekstowych Lokalizacja i Nazwa rozwiązania, a następnie kliknij przycisk OK.
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.
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.
Powtórz tę procedurę, aby dodać odwołania do System.Activities.Presentation.dll i plików WindowsBase.dll.
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.
Wybierz szablon Klasa, nadaj mu nazwę MyDelayTemplate, a następnie kliknij przycisk OK.
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;
Zaimplementuj klasę IActivityTemplateFactory
MyDelayActivity
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) }; } }
Wybierz pozycję Kompiluj rozwiązanie z menu Kompilacja, aby wygenerować plik DelayActivityTemplate.dll.
Aby udostępnić szablon w Projektant przepływu pracy
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.
Wybierz szablon Aplikacja konsoli przepływu pracy, nadaj mu
CustomActivityTemplateApp
nazwę , a następnie kliknij przycisk OK.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.
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.
Kliknij prawym przyciskiem myszy projekt CustomActivityTemplateApp w Eksplorator rozwiązań i wybierz polecenie Kompiluj, aby skompilować aplikację.
Kliknij prawym przyciskiem myszy projekt CustomActivityTemplateApp w Eksplorator rozwiązań i wybierz polecenie Ustaw jako projekt startowy.
Wybierz pozycję Rozpocznij bez debugowania z menu Debugowanie i naciśnij dowolny klawisz, aby kontynuować po wyświetleniu monitu w oknie cmd.exe.
Otwórz plik Workflow1.xaml i otwórz przybornik.
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)
};
}
}
}