Aracılığıyla paylaş


Nasıl Yapılır: Özel Etkinlik Şablonu Oluşturma

Özel etkinlik şablonları, özel bileşik etkinlikler de dahil olmak üzere etkinliklerin yapılandırmasını özelleştirmek için kullanılır, böylece kullanıcıların her etkinliği ayrı ayrı oluşturması ve özelliklerini ve diğer ayarlarını el ile yapılandırması gerekmez. Bu özel şablonlar, Windows İş Akışı Tasarım Aracı Araç Kutusu'nda veya kullanıcıların bunları önceden yapılandırılmış tasarım yüzeyine sürükleyebileceği yeniden barındırılan bir tasarımcıdan kullanılabilir hale getirilebilir. İş akışı Tasarım Aracı bu tür şablonların iyi örnekleriyle birlikte gönderilir: SendAndReceiveReply Şablonu Tasarım Aracı ve Mesajlaşma Etkinliği Tasarım Aracı kategorisindeki ReceiveAndSendReply Şablonu Tasarım Aracı.

Bu konudaki ilk yordamda Gecikme etkinliği için özel etkinlik şablonunun nasıl oluşturulacağı, ikinci yordamda ise özel şablonun çalıştığını doğrulamak için bir İş Akışı Tasarım Aracı nasıl kullanılabilir hale getirileceği kısaca açıklanmaktadır.

Özel etkinlik şablonlarının uygulamasının IActivityTemplateFactoryolması gerekir. Arabirim, şablonda kullanılan etkinlik örneklerini oluşturabileceğiniz ve yapılandırabileceğiniz tek Create bir yönteme sahiptir.

Gecikme etkinliği için şablon oluşturmak için

  1. Visual Studio 2010'ı başlatın.

  2. Dosya menüsünde Yeni'nin üzerine gelin ve Proje'yi seçin.

    Yeni Proje iletişim kutusu açılır.

  3. Proje Türleri bölmesinde, dil tercihinize bağlı olarak Visual C# projelerinden veya Visual Basic gruplandırmalarından İş Akışı'nı seçin.

  4. Şablonlar bölmesinde Etkinlik Kitaplığı'nı seçin.

  5. Ad kutusuna yazınDelayActivityTemplate.

  6. Konum ve Çözüm adı metin kutularında varsayılan değerleri kabul edin ve ardından Tamam'a tıklayın.

  7. Çözüm Gezgini'da DelayActivityTemplate projesinin References dizinine sağ tıklayın ve Başvuru Ekle iletişim kutusunu açmak için Başvuru Ekle'yi seçin.

  8. .NET sekmesine gidin ve soldaki Bileşen Adı sütunundan PresentationFramework'i seçin ve PresentationFramework.dll dosyasına başvuru eklemek için Tamam'a tıklayın.

  9. System.Activities.Presentation.dll ve WindowsBase.dll dosyalarına başvuru eklemek için bu yordamı yineleyin.

  10. Çözüm Gezgini'da DelayActivityTemplate projesine sağ tıklayın ve Ekle'yi ve ardından Yeni Öğe'yi seçerek Yeni Öğe Ekle iletişim kutusunu açın.

  11. Sınıf şablonunu seçin, MyDelayTemplate olarak adlandırın ve ardından Tamam'a tıklayın.

  12. MyDelayTemplate.cs dosyasını açın ve aşağıdaki deyimleri ekleyin.

    //Namespaces added
    using System.Activities;
    using System.Activities.Statements;
    using System.Activities.Presentation;
    using System.Windows;
    
  13. IActivityTemplateFactory aşağıdaki kodla sınıfıyla MyDelayActivity uygulayın. Bu, gecikme süresini 10 saniye olacak şekilde yapılandırılır.

    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. DelayActivityTemplate.dll dosyasını oluşturmak için Derleme menüsünden Çözüm Derle'yi seçin.

Şablonu bir İş Akışı Tasarım Aracı kullanılabilir hale getirmek için

  1. Çözüm Gezgini'da DelayActivityTemplate çözümüne sağ tıklayın ve Ekle'yi ve ardından Yeni Proje'yi seçerek Yeni Proje Ekle iletişim kutusunu açın.

  2. İş Akışı Konsolu Uygulaması şablonunu seçin, adlandırın CustomActivityTemplateAppve ardından Tamam'a tıklayın.

  3. Çözüm Gezgini'da CustomActivityTemplateApp projesinin References dizinine sağ tıklayın ve Başvuru Ekle iletişim kutusunu açmak için Başvuru Ekle'yi seçin.

  4. Projeler sekmesine gidin ve soldaki Proje Adı sütunundan DelayActivityTemplate öğesini seçin ve tamam'a tıklayarak ilk yordamda oluşturduğunuz DelayActivityTemplate.dll dosyasına başvuru ekleyin.

  5. Çözüm Gezgini'da CustomActivityTemplateApp projesine sağ tıklayın ve uygulamayı derlemek için Oluştur'u seçin.

  6. Çözüm Gezgini'da CustomActivityTemplateApp projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin.

  7. Hata Ayıklama menüsünden Hata Ayıklama Olmadan Başlat'ı seçin ve cmd.exe penceresinden istendiğinde devam etmek için herhangi bir tuşa basın.

  8. Workflow1.xaml dosyasını açın ve Araç Kutusu'nu açın.

  9. DelayActivityTemplate kategorisinde MyDelayActivity şablonunu bulun. Tasarım yüzeyine sürükleyin. Özellikler penceresinde özelliğin Duration 10 saniye olarak ayarlandığını onaylayın.

Örnek

MyDelayActivity.cs dosyası aşağıdaki kodu içermelidir.

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)

            };
        }
    }
}

Ayrıca bkz.