WF4刷新工作流设计器
本文关键字:工作流 刷新 WF4 | 更新日期: 2023-09-27 18:25:28
在删除另一个活动(之前存在于两个活动之间)后,我成功地重新建立了两个活动间的链接。
if (containerAsFlowchart != null)
{
for (int i = 0; i < containerAsFlowchart.Nodes.Count; i++)
{
if (containerAsFlowchart.Nodes[i] is FlowStep)
{
FlowStep fs = containerAsFlowchart.Nodes[i] as FlowStep;
if (fs.Next == null)
{
if (i < containerAsFlowchart.Nodes.Count - 1)
{
fs.Next = (FlowNode)((containerAsFlowchart.Nodes[i + 1] as FlowStep));
}
}
}
}
}
到目前为止,Al工作得很好,但即使重新建立了连接,我也无法在工作流设计器中可视化它。如果我扩展或折叠一个活动,或任何其他刷新工作流的操作,那么这个漂亮的箭头就在后面,但是。。有没有任何方法可以通过编程来实现这一点,并在我删除一个活动后立即触发重新绘制?
要使更改在设计器中可见,您必须直接编辑其ModelItem。
var modelItem = Designer.Context.Services.GetService<ModelService>().Root;
// Do changes through modelItem ...
例如,要更改根活动的DisplayName:
modelItem.Properties["DisplayName"].Value = "New Name";
ModelItem
所做的是将工作流的每个部分都保持在一个不可知的模型结构中,从复杂类型到简单整数。该模型由设计者自己用来将工作流打印到屏幕上以及其他内容(读取参数、变量等)
使用调试器并观察模型以了解更多信息。