public void Draw(Event eEvent, Action action) { foreach (var actionControl in actionControls) { foreach (var eventControl in eventControls) { if (eEvent == eventControl.DataContext && action == actionControl.DataContext) { DLine dLine = new DLine(); dLine.ActionControl = actionControl; dLine.EventControl = eventControl; dLine.ActionIsMain = false; layer.DLines.Add(dLine); Gridt.Children.Add(dLine.GetLine()); break; } } } foreach (var dLine in layer.DLines) { dLine.RefreshLine(); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { ActionControl actC; int x = 0; foreach (var act in layer.Actions) { x++; actC = new ActionControl { Name = "act" + x.ToString(), DataContext = act, Margin = new Thickness(10, 10, 0, 0) }; actC.MouseDown += Control_MouseDown; actC.MouseUp += Control_MouseUp; actionControls.Add(actC); } eventControls = new List<EventControl>(); foreach (var action in layer.Actions) foreach (var eventOrigin in layer.EventOrigins) { Event eEvent = new Event(); EventControl eventControl = new EventControl(); eventControl.MouseDown += Control_MouseDown; eventControl.MouseUp += Control_MouseUp; eEvent.ParentAction = action; eEvent.EventOrigin = eventOrigin; eventControl.DataContext = eEvent; layer.Events.Add(eEvent); action.ChildEvents.Add(eEvent); eventControls.Add(eventControl); } Addlines(); AddeventsControl(); AddactionControl(); }