当活动添加到您的工作流程时,您可以通过多种方式连接到事件通知。
第一个是在 WorkflowDesigner 类(Beta1)上监听 TextChanged 事件,或者我认为会有一个 ModelChanged 事件(在 Beta2 中),这更可靠。这是您的工作流程发生变化的通知。不是什么特别的东西,只是一些东西,但您可以使用它作为一个触发器来遍历您的工作流程并寻找新的、未配置的活动。
第二种可能性是利用每个 ModelItem(它是活动的设计时包装器)实现 INotifyPropertyChanged 的事实。您可以监听特定属性的更改,而不是监听整个工作流程中的更改,例如 While 活动的“主体” - 然后当属性被初始化以保存新活动时,响应更改。
第三种可能性是您感兴趣的活动有一个自定义设计器(您编写的) - 听起来这个场景与您的想法相符。在这里,您可以完全自定义活动的外观。自定义设计器实际上只是一个 WPF 控件。您可以使用在设计 WPF 应用程序时应用的相同事件以及数据绑定和验证技术,或响应正常的 WPF 事件。如果您愿意,您当然可以弹出对话框。
至于存储在 XAML 文件中,当然自定义活动与其所有配置的属性一起保存在 XAML 文件中 - 就像常规活动一样。当您想要再次加载 XAML 文件时,您需要提供有关包含 XAML 文件引用的活动的程序集的上下文信息。在 VS 中,这就像添加程序集引用一样简单,在重新托管场景中,您将编写一些代码来执行此操作。
您可能想在 .NET Framework 4:Workflow Foundation - Beta 1 论坛上找到更多相关信息或提出类似问题