在线演示:http://www.shareidea.net/workflow.htm
视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html
QQ群:85444465
本文系列索引:上节说到支持标签改名功能,本节继续增加以下功能:
l 支持选择,群组移动
l 支持粘贴、拷贝
l 支持删除
l 支持鼠标右键菜单
20.1支持选择,群组移动
为了支持标签选择,实现IsSelectd接口,如下所示:
{
ResetInitColor();
}
}
}
当用户选择标签的时候,更新标签颜色,并将标签对象加入到当前容器的“已选择”对象中,当用户取消选择时,重置标签颜色,并从容器对象中删除标签
为了支持标签群组移动,实现SetPositionByDisplacement接口,如下所示:
}
这个接口根据位移来重新设置标签的位置。
20.2支持粘贴、拷贝
为了支持拷贝,需要实现Clone接口,如下所示:
public Label Clone()
{
Label l = new Label(_container);
l.LabelName = this.LabelName;
l.Position = this.Position;
return l;
}
{
Label l = new Label(_container);
l.LabelName = this.LabelName;
l.Position = this.Position;
return l;
}
创建一个新的标签,并把当前标签的名称和位置信息赋值给新的标签。
粘贴的功能很简单,就是吧内存中的拷贝的对象添加到容器中显示出来即可。
20.3 支持删除
实现Delete接口就可以支持删除,为了显示删除时候的渐变效果使用一个Storyboard在指定的时间后删除对象,如下所示:
sbClose.Begin();
}
}
20.4 支持右键菜单
首先需要增加一个表示标签右键菜单的LabelMenu.xaml文件,如下所示:
右键菜单有两个按钮,一个是删除标签,一个是拷贝标签,删除和拷贝的逻辑在上面已经实现了,只需要调用标签对应的方法即可。
本节内容到此就结束了,有什么好的意见请给我留言,多谢!