Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje postup hostování instance Designer pracovního postupu systému Windows v aplikaci Windows Presentation Foundation (WPF).
Procedura konfiguruje ovládací prvek Mřížka, který obsahuje návrháře, programově vytvoří instanci objektuWorkflowDesigner, který obsahuje výchozí Sequence aktivitu, zaregistruje metadata návrháře pro zajištění podpory návrháře pro všechny předdefinované aktivity a hostuje Designer pracovního postupu v aplikaci WPF.
Hostování návrháře pracovního postupu
Otevřete projekt HostingApplication, který jste vytvořili v úkolu 1: Vytvoření nové aplikace Windows Presentation Foundation.
Upravte velikost okna, abyste usnadnili používání Designer pracovního postupu. Chcete-li to provést, vyberte MainWindow v návrháři, stisknutím klávesy F4 zobrazte okno Vlastnosti a v části Rozložení tam nastavte Width na hodnotu 600 a Height na hodnotu 350.
Nastavte název mřížky výběrem panelu Mřížka v návrháři (klikněte na pole uvnitř MainWindow) a nastavením vlastnosti Name v horní části okna Vlastnosti na "grid1".
V okně Vlastnosti kliknutím na tři tečky (...) vedle
ColumnDefinitionsvlastnosti otevřete dialogové okno Editor kolekcí .V dialogovém okně Editor kolekcí třikrát klikněte na tlačítko Přidat a vložte do rozložení tři sloupce. První sloupec bude obsahovat sadu nástrojů, druhý sloupec bude hostitelem Designer pracovního postupu a třetí sloupec se použije pro inspektor vlastností.
WidthVlastnost prostředního sloupce nastavte na hodnotu "4*".Kliknutím na tlačítko OK uložte změny. Do souboru MainWindow.xaml se přidá následující xaml:
<Grid Name="grid1"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="4*" /> <ColumnDefinition /> </Grid.ColumnDefinitions> </Grid>V Průzkumník řešení klikněte pravým tlačítkem na MainWindow.xaml a vyberte Zobrazit kód. Upravte kód následujícím postupem:
Přidejte následující obory názvů:
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;Chcete-li deklarovat pole soukromého člena pro uložení instance WorkflowDesigner, přidejte do
MainWindowtřídy následující kód:public partial class MainWindow : Window { private WorkflowDesigner wd; public MainWindow() { InitializeComponent(); } }Do třídy
MainWindowpřidejte následující metoduAddDesigner. Implementace vytvoří instanci objektu WorkflowDesigner, přidá Sequence do ní aktivitu a umístí ji do prostředního sloupce mřížky 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); }Zaregistrujte metadata návrháře a přidejte podporu návrháře pro všechny předdefinované aktivity. To vám umožní převést aktivity z panelu nástrojů na původní Sequence aktivitu v Designer pracovního postupu. Uděláte to tak, že do třídy přidáte
RegisterMetadatametoduMainWindow:private void RegisterMetadata() { var dm = new DesignerMetadata(); dm.Register(); }Další informace o registraci návrhářů aktivit najdete v tématu Postupy: Vytvoření vlastní aktivity Designer.
V konstruktoru
MainWindowtřídy přidejte volání metod deklarovaných dříve, abyste zaregistrovali metadata pro podporu návrháře a vytvořili WorkflowDesigner.public MainWindow() { InitializeComponent(); // Register the metadata. RegisterMetadata(); // Add the WFF Designer. AddDesigner(); }
Stisknutím klávesy F5 sestavte a spusťte řešení.
V tématu Úloha 3: Vytvoření podokna Toolbox a PropertyGrid se dozvíte, jak přidat podporu Toolbox a PropertyGrid do návrháře re hostovaného pracovního postupu.