Это именно то, что вам нужно сделать. Это может показаться уродливым хаком, черт возьми, это может быть даже уродливым хаком, но именно так фреймворк обрабатывает визуализацию во время разработки. Почти каждый стандартный элемент управления каркасом (формы, wpf и веб) определяет, отображается ли он во время выполнения или во время разработки, и ведет себя по-разному. Это основная идея компонентного дизайна . Ваши классы существуют в двух разных средах - среде выполнения и среде разработки, и они должны предлагать богатый и удобный пользовательский опыт в обоих. И единственный способ сделать это для автора элемента управления - написать код для этого элемента управления.
Оптимально, вы захотите справиться с этой ситуацией как можно выше в стеке. Совершенно определенно вы захотите определить, находитесь ли вы во время разработки в вашем пользовательском элементе управления и заменить фиктивный источник данных для структуры сущностей. Вы будете отображать ложные данные, которые вы видите в некоторых формах с привязкой к данным и в элементах управления wpf.
Так все и сделано. VS никогда не будет "обновляться", так как он работает ... хорошо, разработан.