Aracılığıyla paylaş


Görev 2: İş Akışı Tasarımcısını Barındırma

Bu konuda, Windows Presentation Foundation (WPF) uygulamasında Windows İş Akışı Tasarım Aracı örneğini barındırma yordamı açıklanmaktadır.

Yordam tasarımcıyı içeren Kılavuz denetimini yapılandırıyor, program aracılığıyla varsayılan Sequence etkinliği içeren bir örneğini WorkflowDesigner oluşturuyor, tüm yerleşik etkinlikler için tasarımcı desteği sağlamak üzere tasarımcı meta verilerini kaydediyor ve WPF uygulamasında İş Akışı Tasarım Aracı barındırıyor.

İş akışı tasarımcısını barındırmak için

  1. 1. Görev: Yeni Windows Presentation Foundation Uygulaması Oluşturma bölümünde oluşturduğunuz HostingApplication projesini açın.

  2. İş Akışı Tasarım Aracı kullanımını kolaylaştırmak için pencerenin boyutunu ayarlayın. Bunu yapmak için tasarımcıda MainWindow'ı seçin, Özellikler penceresini görüntülemek için F4 tuşuna basın ve buradaki Düzen bölümünde Genişlik değerini 600, Yükseklik değerini de 350 değerine ayarlayın.

  3. Tasarımcıda Kılavuz panelini seçerek (MainWindow içindeki kutuya tıklayın) ve Özellikler penceresinin üst kısmındaki Name özelliğini "grid1" olarak ayarlayarak kılavuz adını ayarlayın.

  4. Özellikler penceresinde, özelliğin yanındaki ColumnDefinitions üç noktaya (...) tıklayarak Koleksiyon Düzenleyicisi iletişim kutusunu açın.

  5. Koleksiyon Düzenleyicisi iletişim kutusunda Ekle düğmesine üç kez tıklayarak düzene üç sütun ekleyin. İlk sütun Araç Kutusu'nu, ikinci sütun İş Akışı Tasarım Aracı barındıracak ve üçüncü sütun özellik denetçisi için kullanılacak.

  6. Width Ortadaki sütunun özelliğini "4*" değerine ayarlayın.

  7. Değişiklikleri kaydetmek için Tamam’a tıklayın. MainWindow.xaml dosyanıza aşağıdaki XAML eklenir:

    <Grid Name="grid1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="4*" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
    </Grid>
    
  8. Çözüm Gezgini'daMainWindow.xaml öğesine sağ tıklayın ve Kodu Görüntüle'yi seçin. Aşağıdaki adımları izleyerek kodu değiştirin:

    1. Aşağıdaki ad alanlarını ekleyin:

      using System.Activities;
      using System.Activities.Core.Presentation;
      using System.Activities.Presentation;
      using System.Activities.Presentation.Metadata;
      using System.Activities.Presentation.Toolbox;
      using System.Activities.Statements;
      using System.ComponentModel;
      
    2. bir örneğini WorkflowDesignerbarındıracak bir özel üye alanı bildirmek için sınıfına MainWindow aşağıdaki kodu ekleyin:

      public partial class MainWindow : Window
      {
          private WorkflowDesigner wd;
      
          public MainWindow()
          {
              InitializeComponent();
          }
      }
      
    3. MainWindow sınıfına aşağıdaki AddDesigner yöntemini ekleyin. Uygulama, öğesinin bir örneğini WorkflowDesigneroluşturur, buna bir Sequence etkinlik ekler ve bunu grid1 Grid'in orta sütununa yerleştirir.

      private void AddDesigner()
      {
          // Create an instance of WorkflowDesigner class.
          this.wd = new WorkflowDesigner();
      
          // Place the designer canvas in the middle column of the grid.
          Grid.SetColumn(this.wd.View, 1);
      
          // Load a new Sequence as default.
          this.wd.Load(new Sequence());
      
          // Add the designer canvas to the grid.
          grid1.Children.Add(this.wd.View);
      }
      
    4. Tüm yerleşik etkinlikler için tasarımcı desteği eklemek için tasarımcı meta verilerini kaydedin. Bu, etkinlikleri araç kutusundan İş Akışı Tasarım Aracı özgün Sequence etkinliğe bırakmanızı sağlar. Bunu yapmak için yöntemini sınıfına MainWindow ekleyinRegisterMetadata:

      private void RegisterMetadata()
      {
          var dm = new DesignerMetadata();
          dm.Register();
      }
      

      Etkinlik tasarımcılarını kaydetme hakkında daha fazla bilgi için bkz. Nasıl yapılır: Özel Etkinlik Tasarım Aracı Oluşturma.

    5. Sınıf oluşturucusunda MainWindow , tasarımcı desteği için meta verileri kaydetmek ve oluşturmak WorkflowDesignerüzere önceden bildirilen yöntemlere çağrılar ekleyin.

      public MainWindow()
      {
          InitializeComponent();
      
          // Register the metadata.
          RegisterMetadata();
      
          // Add the WFF Designer.
          AddDesigner();
      }
      

      Not

      yöntemi, RegisterMetadata etkinlik de dahil olmak üzere Sequence yerleşik etkinliklerin tasarımcı meta verilerini kaydeder. AddDesigner yöntemi etkinliği kullandığındanSequence, önce yönteminin RegisterMetadata çağrılması gerekir.

  9. Çözümü derlemek ve çalıştırmak için F5 tuşuna basın.

  10. Yeniden barındırılan iş akışı tasarımcınıza Toolbox ve PropertyGrid desteği eklemeyi öğrenmek için bkz. Görev 3: Araç Kutusu ve PropertyGrid Bölmeleri oluşturma.

Ayrıca bkz.