foreach(var child in Canvas.Children)
{
var l = child as Line;
if(l != null && (l.X1 < mx1 && lX2 > mx2) && (l.Y1 < my1 && lY2 > my2))
{
// You can't remove item from collection you enumerate thru
// Canvas.Children.Remove(l);
LinesToDelete.Add(l);
}
}
Than you can simple remove all lines that got to LinesToDelete