Návrháři vlastního skládání – místo pro položku pracovního postupu
Tento WorkflowItemPresenter typ je klíčovým typem programovacího modelu návrháře WF, který umožňuje vytvoření "zóny přetažení", kde lze umístit libovolnou aktivitu. Tato ukázka ukazuje, jak vytvořit návrháře aktivit, který zobrazí takovou "zónu přetažení".
Ukázka WorkflowItemPresenter ukazuje:
Vytvoření vlastního návrháře aktivit pomocí objektu WorkflowItemPresenter.
Registrace vlastního návrháře pomocí úložiště metadat
Programování re hostované sady nástrojů deklarativním a imperativním způsobem
Ukázkové podrobnosti
Kód pro tuto ukázku ukazuje:
Návrhář vlastní aktivity je vytvořen pro
SimpleNativeActivity
třídu.Vytvoření vlastního návrháře aktivit pomocí objektu WorkflowItemPresenter.
<sap:ActivityDesigner x:Class="Microsoft.Samples.UsingWorkflowItemPresenter.SimpleNativeDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">
<sap:ActivityDesigner.Resources>
<DataTemplate x:Key="Collapsed">
<StackPanel>
<TextBlock>This is the collapsed view</TextBlock>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="Expanded">
<StackPanel>
<TextBlock>Custom Text</TextBlock>
<sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Body, Mode=TwoWay}"
HintText="Please drop an activity here" />
</StackPanel>
</DataTemplate>
<Style x:Key="ExpandOrCollapsedStyle" TargetType="{x:Type ContentPresenter}">
<Setter Property="ContentTemplate" Value="{DynamicResource Collapsed}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowExpanded}" Value="true">
<Setter Property="ContentTemplate" Value="{DynamicResource Expanded}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</sap:ActivityDesigner.Resources>
<Grid>
<ContentPresenter Style="{DynamicResource ExpandOrCollapsedStyle}" Content="{Binding}" />
</Grid>
</sap:ActivityDesigner>
Všimněte si použití datové vazby WPF k vytvoření vazby na ModelItem.Body
. ModelItem
je vlastnost ActivityDesigner , která odkazuje na podkladový objekt, pro který se návrhář používá, v tomto případě SimpleNativeActivity.
Nastavení, sestavení a spuštění ukázky
Otevřete řešení v sadě Visual Studio.
Stisknutím klávesy F5 aplikaci zkompilujte a spusťte.