¿Alguien ha encontrado una solución útil al problema de DesignMode al desarrollar controles?
El problema es que si anida los controles, DesignMode solo funciona para el primer nivel. El segundo y los niveles inferiores DesignMode siempre devolverán FALSE.
El truco estándar ha sido mirar el nombre del proceso que se está ejecutando y si es "DevEnv.EXE", entonces debe ser estudio, por lo que DesignMode es realmente VERDADERO.
El problema con eso es buscar ProcessName que se abre paso a través del registro y otras partes extrañas con el resultado final de que el usuario podría no tener los derechos necesarios para ver el nombre del proceso. Además esta extraña ruta es muy lenta. Así que hemos tenido que acumular trucos adicionales para usar un singleton y si se produce un error al pedir el nombre del proceso, entonces asuma que DesignMode es FALSE.
Una buena forma limpia de determinar DesignMode está en orden. ¡Hacer que Microsoft lo arregle internamente en el marco sería aún mejor!