Concepteurs composites personnalisés - Présentateur d'éléments de workflow
Le WorkflowItemPresenter est un type de clé dans le modèle de programmation du concepteur WF qui permet de créer une « zone de dépôt » pour y placer une activité arbitraire. Cet exemple montre comment générer un concepteur d’activités qui fait apparaître ce type de « zone de dépôt ».
L’exemple WorkflowItemPresenter illustre :
Création d'un concepteur d'activités personnalisées avec un WorkflowItemPresenter.
Inscription du concepteur personnalisé à l'aide du magasin des métadonnées.
Programmation de la boîte à outils réhébergée de façon déclarative et impérative.
Détails de l'exemple
Le code de cet exemple illustre les points suivants :
Le concepteur d'activités personnalisées est généré pour la classe
SimpleNativeActivity
.La création d'un concepteur d'activités personnalisées avec un 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>
Notez l'utilisation de la liaison de données WPF pour lier à ModelItem.Body
. ModelItem
est la propriété sur ActivityDesigner qui référence l’objet sous-jacent pour lequel le concepteur est utilisé, dans ce cas, SimpleNativeActivity.
Configurer, générer et exécuter l’exemple
Ouvrez la solution dans Visual Studio.
Appuyez sur F5 pour compiler et exécuter l’application.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour