private void DrawLocks() { canvas.RemoveAll <Line>(); foreach (var sessionCircle in sessionCircles.Where(x => x.Session.BlockedBy.HasValue)) { var blocking = sessionCircles.FirstOrDefault(x => x.Session.SPID == sessionCircle.Session.BlockedBy); if (blocking != null) { var line = lineFactory.Create( sessionCircle.X + sessionCircle.Size / 2, sessionCircle.Y + sessionCircle.Size / 2, blocking.X + blocking.Size / 2, blocking.Y + blocking.Size / 2, color: Colors.Red ); canvas.Add(line, 2); } } }