Это одна из главных причин, по которой этот метод существует в первую очередь.
Хотя я согласен с тем, что кажется «грязным» включать проверку логики конкретного кода в логику кода, иногда это самый прагматичный подход. Лично я считаю, что заставить работать элемент управления в режиме разработки - это часть необходимой реализации и функции пользовательского элемента управления, и в этом случае наличие кода, специально предназначенного для этого случая, не обязательно является плохим.
Большая часть кода не выполняется до инициализации элемента управления:
Однако я бы посоветовал присмотреться к этому коду. При создании пользовательского элемента управления в WPF часто лучше иметь код, который выполняется на основе данных, с которыми он связан, а не от того, был ли код инициализирован. Если вы выполняете свой код на основе связанных данных или свойств, не должно иметь значения, работаете ли вы в конструкторе или выполняете приложение.