Bagikan melalui


Tugas 2: Menghosting Perancang Alur Kerja

Topik ini menjelaskan prosedur untuk menghosting instans Perancang Alur Kerja Windows di aplikasi Windows Presentation Foundation (WPF).

Prosedur mengonfigurasi kontrol Kisi yang berisi perancang, secara terprogram membuat instans WorkflowDesigner yang berisi aktivitas Sequence default, mendaftarkan metadata perancang untuk memberikan dukungan perancang untuk semua aktivitas bawaan, dan menghosting Perancang Alur Kerja di aplikasi WPF.

Untuk menghosting perancang alur kerja

  1. Buka proyek HostingApplication yang Anda buat di Tugas 1: Membuat Aplikasi Windows Presentation Foundation Baru.

  2. Sesuaikan ukuran jendela untuk memudahkan penggunaan Perancang Alur Kerja. Untuk melakukannya, pilih MainWindow di perancang, tekan F4 untuk menampilkan jendela Properti, dan, di bagian Tata Letak, atur Lebar ke nilai 600 dan Tinggi ke nilai 350.

  3. Tetapkan nama kisi dengan memilih panel Kisi di perancang (klik kotak di dalam MainWindow) dan atur properti Nama di bagian atas Properti jendela ke "grid1".

  4. Di jendela Properti, klik elipsis () di samping properti ColumnDefinitions untuk membuka kotak dialog Editor Kumpulan.

  5. Di kotak dialog Editor Kumpulan, klik tombol Tambahkan tiga kali untuk menyisipkan tiga kolom ke dalam tata letak. Kolom pertama akan berisi Kotak alat, kolom kedua akan menghosting Perancang Alur Kerja, dan kolom ketiga akan digunakan untuk pemeriksa properti.

  6. Atur properti Width dari kolom tengah ke nilai "4*".

  7. Klik OK untuk menyimpan perubahan apa pun. XAML berikut ditambahkan ke file MainWindow.xaml Anda:

    <Grid Name="grid1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="4*" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
    </Grid>
    
  8. Di Penjelajah Solusi, klik kanan MainWindow.xaml dan pilih Lihat Kode. Ubah kode dengan mengikuti langkah-langkah ini:

    1. Menambahkan namespace berikut:

      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. Untuk mendeklarasikan bidang anggota privat untuk menampung instans WorkflowDesigner, tambahkan kode berikut ke kelas MainWindow:

      public partial class MainWindow : Window
      {
          private WorkflowDesigner wd;
      
          public MainWindow()
          {
              InitializeComponent();
          }
      }
      
    3. Menambahkan metode AddDesigner berikut ke kelas MainWindow. Penerapannya membuat instans dari WorkflowDesigner, menambahkan aktivitas Sequence ke dalamnya, dan menempatkannya di kolom tengah Kisi grid1.

      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. Daftarkan metadata perancang guna menambahkan dukungan perancang untuk semua aktivitas bawaan. Ini memungkinkan Anda menghilangkan aktivitas dari kotak alat ke aktivitas Sequence asli di Perancang Alur Kerja. Untuk melakukannya, tambahkan metode RegisterMetadata ke kelas MainWindow:

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

      Untuk informasi selengkapnya tentang mendaftarkan perancang aktivitas, lihat Cara: Membuat Perancang Aktivitas Kustom.

    5. Di konstruktor kelas MainWindow, tambahkan panggilan ke metode yang dideklarasikan sebelumnya guna mendaftarkan metadata untuk dukungan perancang dan untuk membuat WorkflowDesigner.

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

      Catatan

      Metode RegisterMetadata mendaftarkan metadata perancang dari aktivitas bawaan termasuk aktivitas Sequence. Karena metode AddDesigner menggunakan aktivitas Sequence, metode RegisterMetadata harus dipanggil terlebih dahulu.

  9. Tekan F5 untuk membuat dan menjalankan solusi.

  10. Lihat Tugas 3: Membuat Kotak alat dan Panel PropertyGrid untuk mempelajari cara menambahkan dukungan Kotak alat dan PropertyGrid ke perancang alur kerja yang dihosting ulang.

Lihat juga