Alguém encontrou uma solução útil para o problema DesignMode ao desenvolver controles?
O problema é que, se você aninhar os controles, o DesignMode funcionará apenas para o primeiro nível. O segundo DesignMode e os níveis inferiores sempre retornarão FALSE.
O hack padrão tem sido olhar para o nome do processo que está sendo executado e se for "DevEnv.EXE", então deve ser studio, portanto, DesignMode é realmente TRUE.
O problema com isso é procurar pelo ProcessName percorrer todo o registro e outras partes estranhas com o resultado final de que o usuário pode não ter os direitos necessários para ver o nome do processo. Além disso, esta estranha rota é muito lenta. Portanto, tivemos que empilhar hacks adicionais para usar um singleton e, se um erro for lançado ao solicitar o nome do processo, suponha que DesignMode seja FALSE.
Uma boa maneira limpa de determinar DesignMode está em ordem. Fazer a Microsoft consertá-lo internamente na estrutura seria ainda melhor!