Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
WorkflowItemPresenter è un tipo di chiave nel modello di programmazione della finestra di progettazione WF che consente la creazione di una "zona di rilascio" in cui è possibile inserire un'attività arbitraria. Questo esempio illustra come creare un ActivityDesigner che espone tale "zona di rilascio".
L'esempio WorkflowItemPresenter illustra:
Creazione di un ActivityDesigner personalizzato con un oggetto WorkflowItemPresenter.
Registrazione del designer personalizzato utilizzando l'archivio metadati.
Programmazione della casella degli strumenti riallocata in modo dichiarativo e imperativo.
Dettagli di esempio
Il codice per questo esempio mostra:
L'ActivityDesigner personalizzato viene compilato per la
SimpleNativeActivityclasse .Creazione di un ActivityDesigner personalizzato con un oggetto 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>
Si noti l'utilizzo del data binding in WPF per associarsi a ModelItem.Body.
ModelItem è la proprietà su ActivityDesigner che fa riferimento all'oggetto sottostante per cui viene utilizzato l'editor, in questo caso SimpleNativeActivity.
Configurare, compilare ed eseguire l'esempio
Aprire la soluzione in Visual Studio.
Premere F5 per compilare ed eseguire l'applicazione.