Sdílet prostřednictvím


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

  1. Otevřete řešení v sadě Visual Studio.

  2. Stisknutím klávesy F5 aplikaci zkompilujte a spusťte.

Viz také