представьте, что у вас есть такой сценарий:
class Complex
{
public OtherComplex1 Property1 { get; set; }
public OtherComplex2 Property2 { get; set; }
public OtherComplex2 Property3 { get; set; }
.....
public OtherComplexN PropertyN { get; set; }
}
каждое из ваших свойств имеет свой собственный конструктор типов, который отображает некоторые свойства и т. Д.
скажем, у вас есть два разных экземпляра класса Complex + экземпляр другого произвольного класса.
теперь, когда вы переключаетесь между такими объектами, как этот - сложный экземпляр 1 -> другой -> сложный экземпляр 2 - все будет работать нормально, но если вы сделаете что-то вроде этого:
сложный экземпляр 1 -> сложный экземпляр 2, вы заметите, что свойства не обновляются.
- поведение по умолчанию для сетки свойств, которая пытается оптимизировать количество операций обновления данных. если вы не хотите использовать много логики для обновления ваших дизайнеров, я бы предложил пометить ваши complexTypes с атрибутом повторного использования редактора, установленным в false - в этом случае, когда выбор изменяется на другой экземпляр, сетка свойств все равно будет обновлять дизайнеры.