我在 WPF 中工作。我有以下问题。当我将新活动交给设计器时,我需要将一些信息存储在哈希表中。此哈希表必须是以下结构:
键:活动对象删除值:此活动在运行时创建的变量列表。
现在,我在 Window 类中有以下代码:
private void AddDesigner()
{
this.wd = new WorkflowDesigner();
------------------------
ModelService ms = wd.Context.Services.GetService<ModelService>();
if (ms != null)
ms.ModelChanged += new EventHandler<ModelChangedEventArgs>(ms_ModelChanged);
}
和 ms_ModelChanged:
void ms_ModelChanged(object sender, ModelChangedEventArgs e)
{
if (e.ItemsAdded != null)
{
ModelItem item = e.ItemsAdded.FirstOrDefault<ModelItem>();
var test = item.GetCurrentValue() as CountActivity;
RulesDll.ObjectsClass.HashTableActivity.HashActivity.Add(XXXX, lista);
}
else if (e.ItemsRemoved != null)
{
ModelItem item = e.ItemsRemoved.FirstOrDefault<ModelItem>();
//mi.Properties["Variables"].Collection.Remove(n);
}
}
在:RulesDll.ObjectsClass.HashTableActivity.HashActivity.Add(XXXX, lista);
其中 XXXX 必须是设计器中放置的对象项....好吧,据我所知,当我使用以下代码在设计器中放置两个相同的活动时,不可能在哈希表中添加重复键:
RulesDll.ObjectsClass.HashTableActivity.HashActivity.Add(item, lista);
正常情况下,哈希表中允许出现错误提示 NOT DUPLICATE 值....
那么我必须做些什么来识别我在设计器中放置的活动?