使用silverlight构建一个工作流设计器(七)
2009-05-05 12:06:36 来源:WEB开发网if (_container.CurrentTemporaryRule == null)
{
_container.CurrentTemporaryRule = new Rule(_container);
_container.CurrentTemporaryRule.IsTemporaryRule = true;
_container.AddRule(_container.CurrentTemporaryRule);
_container.CurrentTemporaryRule.SetBeginActivity(this);
_container.CurrentTemporaryRule.EndPointPosition = _container.CurrentTemporaryRule.BeginPointPosition;
_container.CurrentTemporaryRule.ZIndex = _container.NextMaxIndex;
}
1. 在容器类中设置一个全局的临时规则对象
为了能够在容器的层面捕获这个自动生成的临时规则,需要定义一个容器层面的规则引用。public Rule CurrentTemporaryRule { get; set; }
2. 监控容器的MouseMove和MouseLeftButtonUp
当鼠标在容器上移动时,如果有临时的规则类,那么设置规则的结束位置,代码如下 :
private void Container_MouseMove(object sender, MouseEventArgs e)
{
if (CurrentTemporaryRule != null)
{
CurrentTemporaryRule.CaptureMouse();
CurrentTemporaryRule.EndPointPosition = e.GetPosition(CurrentTemporaryRule);
}
}
Tags:使用 silverlight 构建
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接