Как вы и предполагали, вам нужно создать proeprty, который содержит фиктивный класс, реализующий ISupportInitialize
.
Затем выставьте свойство следующим образом:
[EditorBrowsable(EditorBrowsableState.Never)] //Hide from IntelliSense (outside your solution)
[Browsable(false)] //Hide from Properties window
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public MyDummyClass Initializer { get; private set; }
Указание DesignerSerializationVisibility.Content
приведет к тому, что дизайнер установит свойства объекта вместо самого объекта, а также вызовет BeginInit
/ EndInit
.
Очевидно, вы должны создать экземпляр класса в своем конструкторе.