2009-09-02 6 views
2

Je souhaite mieux comprendre les capacités et les limites de ce qui peut être fait avec les activités personnalisées dans WF 4.0 au moment du design. Plus précisément, ce que nous pouvons faire dans une activité personnalisée telle que nous pouvons permettre au concepteur d'interagir de manière personnalisée au moment du design pour spécifier les détails/données concernant une activité. Par exemple, je souhaite créer une activité A, et lorsque le concepteur de workflow place cette activité dans un flux de travail dans le concepteur (concepteur Visual Studio ou concepteur ré-hébergé dans une application distincte), un .NET une boîte de dialogue permettant à l'utilisateur de saisir des données (par exemple, spécifier un fichier via la boîte de dialogue Ouvrir un fichier) et valider les données d'entrée, par exemple du code lors de la mise au point d'une zone de texte particulière.Saisie de données dans une activité personnalisée au moment du design (WF 4.0)

Cela peut-il être fait et stocké dans le fichier XAML du flux de travail?

Veuillez noter que toutes ces fonctionnalités sont requises dans un concepteur de flux de travail lorsqu'un workflow est en cours de conception.

Merci.

Répondre

1

Le concepteur WF4 est tout à fait capable. Vous pouvez ajouter des contrôles au concepteur pour permettre à l'utilisateur final d'interagir directement avec la surface de conception sans utiliser la feuille de propriétés. Vous pouvez également ajouter une validation aux activités pour vérifier si les données saisies sont acceptables ou non. Tout cela est fait au niveau de l'activité dans le code C# ou VB, pas au niveau du workflow. Je ne suis pas sûr des événements lorsqu'une activité est abandonnée mais je crois qu'ils sont également pris en charge (ils étaient au moins dans Wf3 et je pense que cela devrait être reporté.)

1

Cette vidéo explique comment créer des activités personnalisées (avec zone de texte) de sorte que vous pouvez mettre les valeurs dans le temps de conception .. espérons que cette aide u ..

http://bloggersguides.net/media/p/188.aspx

1

Il y a quelques façons dont vous pouvez accrocher aux notifications d'événement lorsqu'une activité est ajoutée à votre flux de travail.

Le premier écoute l'événement TextChanged sur la classe WorkflowDesigner (B eta1) ou je pense qu'il va y avoir un événement ModelChanged (en Beta2), ce qui est plus fiable. Ceci est une notification que quelque chose a changé dans votre flux de travail. Pas quelque chose en particulier, juste quelque chose, mais vous pourriez utiliser cela comme un déclencheur pour traverser votre flux de travail et rechercher de nouvelles activités non configurées.

Une deuxième possibilité tire parti du fait que chaque objet ModelItem (qui est l'enveloppe de conception pour une activité) implémente INotifyPropertyChanged. Au lieu d'écouter les modifications dans l'ensemble du flux de travail, vous pouvez écouter les modifications sur des propriétés spécifiques, telles que le corps d'une activité While. Lorsque la propriété est initialisée pour contenir une nouvelle activité, répondez au changement.

Une troisième possibilité est que l'activité qui vous intéresse ait un concepteur personnalisé (que vous écrivez) - et il semble que ce scénario corresponde à ce que vous pensez. Ici vous pouvez entièrement personnaliser l'apparence de vos activités. Le concepteur personnalisé est vraiment juste un contrôle WPF. Vous pouvez utiliser les mêmes événements et techniques de validation et de liaison de données qui s'appliquent lors de la conception d'une application WPF ou répondre à des événements WPF normaux. Vous pouvez certainement ouvrir des boîtes de dialogue si vous le souhaitez. Comme pour être stocké dans des fichiers XAML, bien sûr, les activités personnalisées sont enregistrées dans les fichiers XAML avec toutes leurs propriétés configurées - tout comme les activités régulières. Lorsque vous souhaitez à nouveau charger le fichier XAML, vous devez fournir des informations de contexte sur les assemblys contenant les activités référencées par le fichier XAML.Dans VS, c'est aussi simple que d'ajouter des références d'assemblage, dans le scénario de réhébergement, vous écrirez un peu de code pour le faire.

Vous aimeriez en savoir plus à ce sujet ou poser des questions similaires sur le .NET Framework 4: Workflow Foundation - Beta 1 Forum

Questions connexes